- the minimum of the normalized hyperspectral image is same as the minimum of the reference region
- the maximum of the normalized hyperspectral image is same as the maximum of the reference region
Normalize hyperspectral image using a target/reference
4 次查看(过去 30 天)
显示 更早的评论
I have a hyperspectral image with a target reference within the same image as the data I want to analyze. From what I understand I need to normalize the image using this reference before I start working with the data.
I think I found an example of normalizing hyperspectral data with on this page about denoising hyperspectral images: https://www.mathworks.com/help/images/ref/denoisengmeet.html
In the example on how to use the denoise function I think this is the line used to normalize the image: hcube = hypercube(rescale(hcube.DataCube),hcube.Wavelength);
I found the coordinates of the part of the target I want by using the hyperspectralViewer() function, but haven't found a way to use them as input for the above method of normalizing the data. Is there a way to do this, or do I have to use a different approach when I want to normalize using a reference?
0 个评论
回答(1 个)
Prachi Kulkarni
2022-1-12
Hi,
If you want to normalize all the data in the hyperspectral image, such that-
you can use the sample code below
hcube = hypercube('paviaU.hdr');
data = hcube.DataCube;
x_range = 1:100; % example range
y_range = 1:50; % example range
z_range = 1:25; % example range
reference = data(x_range,y_range,z_range);
lower_bound = min(reference(:));
upper_bound = max(reference(:));
rescaled_data = rescale(data,lower_bound,upper_bound);
hcube = hypercube(rescaled_data,hcube.Wavelength);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Hyperspectral Image Processing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!