数値データから画像を再現する方法について
45 views (last 30 days)
Show older comments
こんにちは。小熊と申します。
対象から得た[ピクセルのX座標(1~750),ピクセルのY座標(1~480),光強度]というようなスペクトルデータから、MATLAB上で256階調グレースケール画像を生成したいのですがどのようにすればいいでしょうか。
plot scatter stackedplot image など検討したのですが素人の私では上手くいかず、質問をしてアドバイスをいただきたいと考えました。
ちなみに生成した画像はSqueezNetを用いた転移学習に利用します。
下にある画像は700nmのスペクトルデータを抽出したものであり、360000×3のテーブルです。
元のCSVデータだと400~1000nmの5nm刻みなので2(座標)+121(各波長)=123列にも及びます。
一番の理想として、元のCSVデータからMATLABを通して各波長の画像が生成されて、転移学習のデータストア用のファイルに自動で蓄積されていく事ですが、一先ずはこのようなデータから画像を生成出来るのか、またできるとしたらどのようにすれば良いのかを知りたく質問しました。
元のCSVデータは非常にサイズが大きいため添付していませんが、もし必要であれば別途「ギガファイル便」などのサービスを通じて共有したいと思います。
よろしくお願いします。
0 Comments
Accepted Answer
Hernia Baby
on 16 Jul 2021
Edited: Hernia Baby
on 16 Jul 2021
グレースケールの画像については以下の手順が必要だと思っています。
①光度のスケールを統一(正規化)
②画像の形にする
①正規化
0~1にスケールを合わせて、それをuint8(0~255)にすれば大丈夫です。
②画像の形にする
ここではそもそも画像がどのようなものになっているかを説明します。
x = linspace(255,0,12);
x = uint8(x);
I = reshape(x,[3,4]);
imshow(I,'InitialMagnification','fit');
x は0~255のパラメータになっており、それを3×4のサイズで表示しております。
I のパラメータを数字で見てみましょう。
I
4 Comments
More Answers (0)
See Also
Categories
Find more on Modify Image Colors in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!