MATLAB Answers

Displaying Multispectral Image in MATLAB

29 views (last 30 days)
I have multispectral image (data3.tif) which is raw image of 6 bands.
I used following code to read the image and matlab reads it properly no issues. I tried to seperate band 4 from raw image and displayed single band it is also works fine.
A=imread('data3.tif');
% b1=im2single(A(:,:,4));
but imshow(A) and imtool(A) doesnot works
i tried multibandread also it does not works.
Actually I need to train neural network for segmentation which accepts [256 256 6] as an input size. To do that first i need to display image (data3.tif) for cliping small patches from the raw data. My problem is imshow and imtool is shows an error if i use imshow(A) and imtool(A).
Question is
how To display multispectral image which has 6 bands in a single image ?
how to crop small patches from raw image?
If i cropped small patch in raw image whether it has same 6 bands?
link for image size 22MB

Accepted Answer

Subhadeep Koley
Subhadeep Koley on 12 Apr 2021
You can not use imshow(_) or imagesc(_) to display Multi-plane images having more than 3 channels.
You can use sliceViewer(_) to browse through individual plane of your image.
cube = imread('data3.tif');
figure
sliceViewer(cube);
colormap parula
Moreover, if you have the wavelength corresponds to each plane of your multispectral image, you can construct a hypercube(_) object and use the colorize(_) method to generate RGB, CIR, or False-colored image. Also, you can crop your region of interest. Like below,
% Construct the hypercube object
hCube = hypercube('data3.tif', wavelength); % Here wavelength is a C-element vector. C is the number of bands
% Compute RGB image
rgbImg = colorize(hCube, 'method', 'rgb', 'ContrastStretching', true);
% Crop region of interest
row = 100:250;
column = 200:400;
bands = 1:6;
newHcube = cropData(hCube, row, column, bands);
NOTE: The above mentioned fetures come under Image Processing Toolbox's Hyperspectral Imaging Library support package, and can be downloaded from here. For more information on Hyperspectral Imaging Library see the documentation.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!