How to convert the raw hyperspectral image (hawaii or yellowstone)into .mat file?
21 ビュー (過去 30 日間)
古いコメントを表示
I have raw images which I has taken from the link
I need to convert this raw files to .mat file through the matlab, so that I can get the image band by band
0 件のコメント
採用された回答
Walter Roberson
2019 年 5 月 9 日
X = multibandread('hawaii_sc01.raw', [512, 614, 224], '*uint16', 0, 'bip', 'ieee-be');
The datatype is uint16 but the data is 12 bit, so the used portion is theoretically 0 to 4095 but in practice the range is 82 to 1006, so call it [0 1023]
According to the README, that particular file is the above size, and the maine file below it is a different size also 12 bit, and all of the rest of the files are 512 lines x 680 samples x 224 bands, instrument bit depth = 16 bits which would correspond to
X = multibandread(filename, [512, 680, 224], '*uint16', 0, 'bip', 'ieee-be');
You would have to examine the values to see what the actual data range is.
4 件のコメント
Walter Roberson
2019 年 5 月 10 日
filename = 'aviris_sc0.raw';
X = multibandread(filename, [512, 680, 224], '*uint16', 0, 'bip', 'ieee-be');
X100 = fliplr(X(:,:,100));
imshow(X100,[])
Now compare to the first false-color image at https://coding.jpl.nasa.gov/hyperspectral/falsecolor.html and it will be obvious that the data has been extracted in the right order.
その他の回答 (1 件)
Shrish Bajpai
2019 年 5 月 10 日
1 件のコメント
Walter Roberson
2019 年 5 月 10 日
Earlier I posted
X = multibandread('hawaii_sc01.raw', [512, 614, 224], '*uint16', 0, 'bip', 'ieee-be');
Before I posted that I tested it and compared it to the sample images that they provided, so I was sure that the data was read properly.
参考
カテゴリ
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!