how to scatter plot a mutispectral image
4 ビュー (過去 30 日間)
古いコメントを表示
Dear Everyone
Does anyone has experience how to scatter plot a multispectral image. Let say any multspectral image with matrix composition is 480x752x151 (row x column x band). I want to pick some pixel sample, then do scatter plot these pixel sample to analyze the intensity values. I am very appreciated for any support and help.
Lina
0 件のコメント
回答 (1 件)
Image Analyst
2017 年 4 月 16 日
編集済み: Image Analyst
2017 年 4 月 16 日
I don't even know what that means. Basically to get a spectrum from some row and column, you can do
thisSpectrum = multspectralImage(row, column, :);
plot(thisSpectrum, 'b-', 'LineWidth', 2);
grid on;
If you want, you can plot the spectra for every single pixel in the image. You can even get the average spectra if you want, though I imagine you'd do that for some sub-regions of the image that look different rather than for the whole image.
If you're thinking of something like what colorcloud() does to plot the RGB color gamut, then no, you can't do that. You can't have a scatterplot with 151 different axes, only 2 or 3. I suggest you do cluster analysis instead to find the "clumps".
2 件のコメント
Image Analyst
2017 年 4 月 17 日
You can cluster them but people can't see in 151 dimensions so you're not going to get a scatter plot unless you pick 3 at a time. for that I suggest you read this paper: http://my.ece.msstate.edu/faculty/du/JSTARS-VIS.pdf
But whether you want to cluster them depends on why or what you hope to learn. Perhaps you want to determine base compounds (chemicals) comprising a region or something so maybe you want to multivariate curve resolution or PCA or something.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!