数値データから画像を再現する方法について

5个视图(过去30天)
塁 小熊
塁 小熊 2021年7月16日
评论: 塁 小熊2021年7月19日
こんにちは。小熊と申します。
対象から得た[ピクセルのX座標(1~750),ピクセルのY座標(1~480),光強度]というようなスペクトルデータから、MATLAB上で256階調グレースケール画像を生成したいのですがどのようにすればいいでしょうか。
绘图散点叠加绘图图像など検討したのですが素人の私では上手くいかず、質問をしてアドバイスをいただきたいと考えました。
ちなみに生成した画像は挤压网を用いた転移学習に利用します。
下にある画像は700纳米のスペクトルデータを抽出したものであり、360000×3のテーブルです。
元のCSVデータだと400~1000nmの5nm刻みなので2(座標)+121(各波長)=123列にも及びます。
一番の理想として、元のCSVデータからMATLABを通して各波長の画像が生成されて、転移学習のデータストア用のファイルに自動で蓄積されていく事ですが、一先ずはこのようなデータから画像を生成出来るのか、またできるとしたらどのようにすれば良いのかを知りたく質問しました。
元のCSVデータは非常にサイズが大きいため添付していませんが、もし必要であれば別途「ギガファイル便」などのサービスを通じて共有したいと思います。
よろしくお願いします。

公认的答案

疝气婴儿
疝气婴儿 2021年7月16日
编辑:疝气婴儿 2021年7月16日
グレースケールの画像については以下の手順が必要だと思っています。
①光度のスケールを統一(正規化)
②画像の形にする
①正規化
 0~1にスケールを合わせて、それをuint8(0~255)にすれば大丈夫です。
②画像の形にする
 ここではそもそも画像がどのようなものになっているかを説明します。
x=linspace(255,0,12);
x=uint8(x);
I=重塑(x,[3,4]);
imshow(I,,“初始放大”,“适合”);
 x は0~255のパラメータになっており、それを3×4のサイズで表示しております。
 I のパラメータを数字で見てみましょう。
我= 3×4
255 185 116 46 232 162 93 23 209 139 70 0
 つまり @塁 小熊 様が行うべきは 重塑 等によって光の強度を480×750の配列にすることです。
 この形ができれば、 imwrite で保存していけば大丈夫かと思います。
4评论
塁 小熊
塁 小熊 2021年7月19日
Herniaさん Uenoさん 返信ありがとうございます。
両方のやり方を試してみました。どちらもうまくいきました!
以下の画像はレタスの反射率データと光強度データから、それぞれ生成しました。
反射率データは数値の幅が0-100なので、256階調において正確に再現されているように見えます。
一方で光強度データは幅が0-4095なので、256階調での表現に無理があるのか白飛びしている箇所が多くなってしまいました。
とは言え画像化する方法に関して理解出来たので、お二方のやり方に工夫を加える等して上記の課題は克服しようと思います。
素人まる出しの質問であったにもかかわらず丁寧にアドバイス頂き、大変助かりました。
ありがとうございました!

登录以发表评论。

更多答案(0)

标签

s manbetx 845


释放

R2020a

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!