2016-04-07 20 views
0

Tif dosyaları olarak vermek istediğim bir döngüde 3500x7500 boyutunda çift matris üretiyorum.Matlab'da bir çift nasıl yazabilirim?

kodu

for k = 1:length(basinlist{1}) 
    #some operation that produces GRID 
    imwrite(GRID,filename); 
end 

Ama bunu yaparken, üretilen TIF dosyası 255 sadece içerir ve çıkış Uint8 olduğu bir bölüm. Dokümantasyonda bunu okudum, ancak düzeltemiyorum. Tek istediğim, orijinal değerleri ölçeklendirme ya da herhangi bir şey olmadan korumaktır.

bu yardım ederse:

>> max(max(GRID)) 

ans = 

    1.5646e+04 

>> min(min(GRID)) 

ans = 

    1.1119e+03 

cevap

1

varsayalım Bize verilen verilere uyacak renk derinliği görüntü oluşturmak istiyorum.

Görüntü formatına dışa aktarılan veriler varsayılan olarak uint8'a dönüştürülür (veri aralığı 0-2^8-1).

Ancak Matlab (2011b), X değerinin X bit değerini temsil ettiği diğer uintX biçimleriyle çalışabilir. yayılma 0-255 (2^8)

  • uint16 sürede 0-65 535 (2^16) açıklığı
  • uint32 0-4.29 e 9 (2^32)
  • ile birlikte

    • uint8

      for k = 1:length(basinlist{1}) 
          #some operation that produces GRID 
      
          %% Convert GRID to roughest acceptable uint format 
          GRID=uint16(GRID); 
      
          %% Export 
          imwrite(GRID,filename); 
      end 
      
      : herhangi bir kayıp olmadan veri ihracat yayılma 0-1,84 e 19 (2^64)

    Kodu

  • +0

    Bu, yüzenleri tam sayılara dönüştürür. Yüzenleri nasıl koruyabilirim? – maximusdooku

    +0

    Sanırım yapamazsın çünkü tif resim formatıdır. – Crowley

    +0

    Teşekkürler ......... Çalışması için geotiffwrite kullandım. – maximusdooku

    İlgili konular