どうすれば赤外線画像を温度情報とともに読み込むことができますか?
Show older comments
研究で、サーマルカメラで撮影した赤外線画像を使うのですが、読み込んだところ0−255の輝度値になってしまいます。
画像形式はJPGで、
whos I (Iは赤外線画像)
range = [min(I(:)) max(I(:))]
の結果は、
>> whos I
Name Size Bytes Class Attributes
I 605x804x3 1459260 uint8
>> range = [min(ix(:)) max(ix(:))]
range = 1×2 の uint8 行ベクトル
0 255
となってしまいます。
なぜかわからないので教えて頂けないでしょうか。
7 Comments
Kazuya
on 12 Jan 2019
値が 0-255 なのは uint8 型(整数型)で読み取られているからですが、、本来はどんな値が入っているはずなんでしょうか?
ryoya suzuki
on 13 Jan 2019
Kazuya
on 13 Jan 2019
読み取りには imread 関数を使っていますか? 605x804x3 と3次元のデータが読み取られているということは単なるカラー画像のようですが、色と温度の対応情報も画像に含まれているんでしょうか?画像添付してもらうことはできますか?
ryoya suzuki
on 14 Jan 2019
michio
on 15 Jan 2019
使われているカメラ or ソフトから MATLAB に読み込む画像を出力(jpeg) していると思うんですが、そちら側の設定で何かありそうですか?少なくとも見せて頂いている画像には、温度情報は明示的に入っていないような。。(すいません、専門外で)
この例ではよみとった画像の値自体が温度になっているみたいですが・・。
Etsuo Maeda
on 17 Jan 2019
全てはカメラと付属ソフトウェアの仕様次第ですが。。。
カメラの保存媒体にjpeg以外のファイルは生成されていませんか?datやtxtの形式でピクセル単位の温度情報が保存されている可能性があります。
TIFFなどの整数型でない値をうけつける画像フォーマットが使えるなら、画像の輝度値と温度が一致している可能性があります。少なくともjpegでは整数型以外の値を持つことは無理かと思います。
もし、jpegしかないのであれば、輝度値の0-255を自力で低温から高温まで割り付ければよいのではないでしょうか。(おそらく0のところは温度がとれていないでしょう)
HTH
ryoya suzuki
on 17 Jan 2019
Answers (1)
Yoshio
on 17 Jan 2019
1 vote
ご使用のサーマルカメラのマニュアルは公開されていませんか?
そちらで出力されているデータの仕様をまず確認するのが良いと思います。
3 Comments
ryoya suzuki
on 17 Jan 2019
Yoshio
on 17 Jan 2019
少し調べてみましたが、
形式としてはjpegでも温度データを独自の内部仕様で書き込んでいるようです。
温度を正確に測定したいのであれば、メーカに問い合わせて詳細なデータ形式(先のURLに記載されているような)を知る必要があります。
ryoya suzuki
on 19 Jan 2019
Categories
Find more on Read, Write, and Modify Image 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!