imshow 16 bit tif file turns to black
    11 次查看(过去 30 天)
  
       显示 更早的评论
    
I am currently loading a tif file into matlab by using the code below.
fname = '1.tif'; img = imread(fname); imshow(img)
But it showed a black picture. If I change to this.
fname = '1.tif'; [img,map] = imread(fname,k); imshow(img,map)
It works. And I found that map is actually empty.
If I did like this, it also works.
fname = '1.tif'; img = imread(fname); map = []; imshow(img,map)
I am wondering why.
The tif file information is here.
                     Filename:     
                  FileModDate: '    '
                     FileSize: 761533941
                       Format: 'tif'
                FormatVersion: []
                        Width: 630
                       Height: 630
                     BitDepth: 16
                    ColorType: 'grayscale'
              FormatSignature: [73 73 42 0]
                    ByteOrder: 'little-endian'
               NewSubFileType: 2
                BitsPerSample: 16
                  Compression: 'Uncompressed'
    PhotometricInterpretation: 'BlackIsZero'
                 StripOffsets: 1x105 Double
              SamplesPerPixel: 1
                 RowsPerStrip: 6
              StripByteCounts: 1x105 Double
                  XResolution: []
                  YResolution: []
               ResolutionUnit: 'Inch'
                     Colormap: []
          PlanarConfiguration: 'Chunky'
                    TileWidth: []
                   TileLength: []
                  TileOffsets: []
               TileByteCounts: []
                  Orientation: 1
                    FillOrder: 1
             GrayResponseUnit: 0.0100
               MaxSampleValue: 65535
               MinSampleValue: 0
                 Thresholding: 1
                       Offset: ...
             ImageDescription: ...
                   PageNumber: ...
                  UnknownTags: [4x1 struct]
Thank you so much. Any suggestions will be welcomed.
2 个评论
采纳的回答
  Jorge Mario Guerra González
      
 2017-1-23
        I think that it happends because your tif image is a grayscale image are it's said in properties. Maps are used for colour images.
Since it's a grayscale image the notation [] means that the display range is [min max] then you see the whole gray scale.
Check this to see how maps work on a RGB tif image.
 [X,map] = imread('corn.tif');
imshow(X,map)
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
