Multibandread function makes my uint8 image tingly
7 次查看(过去 30 天)
显示 更早的评论
I have a uint8 multiband tif image. I'm using the 'multibandread' function in my code. But when I try display the image it becomes a tingly image. Here is the script I use to display my image:
image = multibandread('l7_ms.tif',[512, 512, 7],'uint8=>uint8',...
128,'bil','ieee-le',{'Band','Direct',[4 3 2]}); % Convert the multiband image to 3 band image
figure; imshow(image); title('CIR Composite'); % Display image
Here is my display output:

is there something wrong with my code? If so how do I fix it?
0 个评论
采纳的回答
Baris Demir
2023-4-15
7 个评论
DGM
2023-4-15
编辑:DGM
2023-4-15
This image appears to have 12 channels.
fname = 'l7_ms.tif';
inpict = imread(fname);
imfinfo(fname)
Filename: '/data/homebak/cad_and_projects/imagepooper/l7_ms.tif'
FileModDate: '14-Mar-2017 09:08:02'
FileSize: 48029304
Format: 'tif'
FormatVersion: []
Width: 2000
Height: 2000
BitDepth: 96
ColorType: 'grayscale'
FormatSignature: [73 73 42 0]
ByteOrder: 'little-endian'
NewSubFileType: 0
BitsPerSample: [8 8 8 8 8 8 8 8 8 8 8 8]
Compression: 'Uncompressed'
PhotometricInterpretation: 'BlackIsZero'
StripOffsets: [1×2000 double]
SamplesPerPixel: 12
RowsPerStrip: 1
StripByteCounts: [1×2000 double]
XResolution: []
YResolution: []
ResolutionUnit: 'Inch'
Colormap: []
PlanarConfiguration: 'Chunky'
TileWidth: []
TileLength: []
TileOffsets: []
TileByteCounts: []
Orientation: 1
FillOrder: 1
GrayResponseUnit: 0.0100
MaxSampleValue: [254 254 254 254 254 254 254 254 254 254 254 254]
MinSampleValue: [5 5 5 5 5 5 5 5 5 5 5 5]
Thresholding: 1
Offset: 48016624
ExtraSamples: [0 0 0 0 0 0 0 0 0 0 0]
SampleFormat: {1×12 cell}
ModelPixelScaleTag: [30 30 0]
ModelTiepointTag: [0 0 0 410000 3759000 0]
GeoKeyDirectoryTag: [1×60 double]
GeoDoubleParamsTag: [6.3782e+06 294.9787 0]
GeoAsciiParamsTag: 'UTM Zone 11, Northern Hemisphere|GCS Name = Clarke 1866|Datum = unknown|Ellipsoid = clrk66|Primem = Greenwich||'
% select three specific channels to form an RGB image
outpict = inpict(:,:,[4 3 2]);
imshow(outpict)

Image Analyst
2023-4-15
You can tell imread() which image in the file you want to retrieve. I guess it does them all if you don't specify and then you can just show the ones you want, like you did.
更多回答(1 个)
Image Analyst
2023-4-15
编辑:Image Analyst
2023-4-15
Possibly some of your parameters are wrong. But you forgot to attach your image so no one can check.
Since the image is a multi-page TIFF format, I suggest you use the imread to read in the different pages (band images).
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!