hyperspectral imaging signature plot
显示 更早的评论
回答(3 个)
Sulaymon Eshkabilov
2022-9-18
0 个投票
It can be obtained with the following steps:
(1) Import your HSI data into MATLAB. In other words, read your hypespectral images. You may use any available apps or HSI data reader apps, or 3rd party developed toolboxes, like this one: https://www.mathworks.com/matlabcentral/fileexchange/61630-matlab-hyperspectral-toolbox
(2) Just plot using plot() command, for instance.
(3) If your HSI data are noisy, you can smooth them by using smooth() or smoothdata(), sgolayfilt().
Image Analyst
2022-9-18
Read your images into a 3-D array, then do this:
image3d = rand(100, 100, 32); % Create sample data.
[rows, columns, numChannels] = size(image3d)
figure;
hold on;
for row = 1 : rows
fprintf('Plotting spectra from row #%d of %d.\n', row, rows)
for col= 1 : columns
thisSpectra = squeeze(image3d(row, col, :));
plot(thisSpectra, '-');
end
% Update plot
if mod(row, 20) == 0 || row == 1
caption = sprintf('Spectra 1 though %d.\n', row * columns);
title(caption);
xlabel('Wavelength (nm)');
ylabel('Reflectance');
drawnow;
end
end
grid on;
xlabel('Wavelength');
ylabel('Reflectance (nm)');
fprintf('Done plotting %d spectra.\n', rows * columns)
Mandar
2023-2-9
0 个投票
Install the hyperspectral imaging library from this link. Use “hypercube” function to read the hyperspectral data. The function returns the hypercube object. The “DataCube” property of the object holds the hyperspectral data in 3-D numeric array. Access the data and use “plot” function to get the reflectance values on Y-axis for respective wavelengths on X-axis.
类别
在 帮助中心 和 File Exchange 中查找有关 Hyperspectral Image Processing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!