我在提取名為 R、G 和 B 的 3 個波段,然后將這些波段用作 RGB 圖片的 3 個顏色通道時遇到問題。這是一張高光譜影像,它有 103 個波段,與僅包含 3 個的正常 RGB 影像相反。給我這個問題要解決的人,將其描述為非常基本的東西,但是,我很難處理它。我可能對Matlab有語法問題。圖片以 .mat 檔案的形式提供。尺寸為610x340x103。我使用了不同的代碼,搜索了論壇等。但我失敗了。這是我上次嘗試的代碼。
load("PaviaU.mat")
Blue=paviaU(:,:,7);
imwrite(Blue,"Blue.jpg")
newBlue=imread("Blue.jpg");
imshow(newBlue)
imagesc(newBlue) %*this line gives the result as a scaled image*
Green=paviaU(:,:,21);
imwrite(Green,"Green.jpg")
newGreen=imread("Green.jpg");
imshow(newGreen)
Red=paviaU(:,:,53);
imwrite(Red,"Red.jpg")
newRed=imread("Red.jpg");
imshow(newRed)
rgbImage = paviaU(:,:,[newRed,newGreen,newBlue])
當我使用imagesc(Red)而不是imshow我看到圖片時,結果卻不是我想看到的。另外,我在 Matlab 的 App 部分分析了這個 .mat 檔案,其中有一個高光譜影像應用程式,由于沒有波段資訊,我無法觀察到光譜。但是,我認為,在影像處理庫中有一個名為paviaU.dat的檔案,該檔案有效,在應用程式中,我觀察了光譜并使用它。我在這里不明白的重點是什么?有解決辦法嗎?您可以通過此鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/514959.html
