How do I compare the intensity vs wavelength( lambda 1,2,3,4,5 upto n ; a total of 97 bands) at a particular pixel between two(or more) hyperspectral images?
2 views (last 30 days)
Show older comments
Using Matlab R2013a ; I am working on hyperspectral images from a Specim camera (600-925nm) ; images are in the .raw format (bil raster) I use the following command to read the file C0.raw
A=multibandread('C0.raw',[1952,2048,97],'uint16',0,'bil','ieee-le',{'Band','Direct',[601,710,800,905]})
just like C0.raw I have ten other images ( C1,C2,C3,C4...)
Id like to know how to compare the spectral response(in terms of intensity) of a pixel say p(970,1051) at the four bands(601,710,800,905nm). Also the same comparison between multiple images at the same pixel. How can this be done? Any ideas?
I use this to visualise the data( and it does so correctly)
Min_val = min(min(min(A)))
Max_val = max(max(max(A)))
imshow(A(:,:,4),[Min_val Max_val])
I try to use plot(A(970,1051,:)) But it doesnt work out.
0 Comments
Accepted Answer
Image Analyst
on 5 Jan 2014
You have to know what element those wavelengths occur at. Maybe it's elements 20, 42, 61, and 81. So then you just extract those:
intensityAt601 = p(970,1051, 20);
intensityAt710 = p(970,1051, 42);
intensityAt800 = p(970,1051, 61);
intensityAt905 = p(970,1051, 81);
Then for the second image, use p2 or whatever you called that image.
10 Comments
ALINA
on 25 Jan 2014
hi sindhuraj, can you show the code you have written.Since i am not able to retrive the spectral plot inspite of the code i wrote.Kindly please help.
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!