スペクトル画像の一次元化と再画像化の自動処理
引き続きほよほよ さんが作られたjpg2csvとcsv2bmpの応用です。この二つは
「ほよほよのブログ - 写真から撮影方向を分析する-新たな試み6 リリース」
にあるリンクから入手することができます。ただ解凍するのにパスワードが必要です。パスワードはほよほよ さんの過去記事にあるのですが、探すのが面倒な方はほよほよ さんに直接聞けば教えてもらえるんじゃないかと思います。
なおスペクトル画像の数値化(グラフ化)については
「スペクトル画像(分光写真)を数値化(グラフ化)する方法」
が参考になると思います。
再度構成図から行きます。
前記事でjpg2csv形式からマカリ出力形式への変換を作ったので残りは一次元化になります。
jpg2csv形式を読み込んで一次元化してjpg2csv形式に書き戻す方法でもいいのですが、ここではいったん一次元化したデータをマカリ出力形式で保存することにします。
マカリ出力形式の方がExcelでの扱いが楽だということもありますし、小さなものを組み合わせて複雑なことを実現するというUNIX的なやり方が好みということもあります。
--------
ついでなので今回もawkにします。awkしか使えないみたいですが、実際そんなところです (^^;;
BEGIN { FS="," } { if( NR == 1 ) { split($0,loc,"[=,]") y = (loc[8]+loc[4])/2+1.0 NY= loc[8]-loc[4]+1 } else { for( i=0; i < loc[6]-loc[2]+1; i++ ) { if( NR < NY+2 ) { Red[i]+=$i } else if( NR < NY*2+2 ) { Green[i]+=$i } else { Blue[i]+=$i } } } } END { if( (NR-1)/3 != loc[8]-loc[4]+1 ) { print "Error(1). レコード数=",NR } else if( NF != loc[6]-loc[2]+1 ) { print "Error(2). フィールド数=",NF } else { printf "\"X座標\",\"Y座標\",\"輝度\",\"R\",\"G\",\"B\"\n" for( i=loc[2]; i < loc[6]+1; i++ ) { printf "%6.1f,%7.1f,%21.8f,%21.8f,%21.8f,%21.8f\n", i+1.0, y, 0.0,Red[i]/NY,Green[i]/NY,Blue[i]/NY } } }
今回はファイルを読み込んで順次処理していくだけなので簡単なスクリプトで済みます。
--------
ここまでできると
1. スペクトル画像ファイルの任意の矩形領域を数値化する。
2. データの一次元化を行う。
3. スペクトルデータを再画像化する。
という作業がバッチで一気に行うことが可能です。
--------
rem 数値化 jpg2csv IMGP8975-M44d0-1430-1000=2000.jpg 0 80 999 179 > out_1.csv rem 一次元化 "C:\Program Files\gawk\gawk.exe" -f pass4.awk out_1.csv > out_2.csv rem ファイル形式変換・再画像化 "C:\Program Files\gawk\gawk.exe" -f pass3.awk out_2.csv
注 出力ファイルはa.bmpのいう名前になります。矩形領域の指定と入出力ファイル名をパラメータにすれば便利そうです。
-------
今回はこのスペクトル画像をサンプルにします。
例によってF線からE線のところです。サンプルにできるようにISO値をあげて撮ったのでけっこうきたなくなっています。
画像の一次元化はスペクトルの分散軸と直交する方向に平均をとるだけですが、これによってノイズがかなり低減できます。100ピクセル分平均するというのは画像を100枚スタックするようなものですから、手間がかからないわりには効果があります。
上の画像の下半分を再画像化したものに置き換えてみました。
ノイズが少なくなっているのでトーンカーブを調整するなどしても画像がそんなに荒れません。ブログの記事に使うのには便利です。
それなりに納得できる結果が得られていると思います。
前の記事 「スペクトルデータ再画像化 - awkでハマる」
次の記事 「青いフラウンホーファー線がよく見えないのは歳のせい? 」
まとめ記事
「簡易分光器 - 作り方・使い方のまとめとリンク集」
簡易分光器とは?
簡易分光器の実力
太陽光(フラウンホーファー線)
蛍光灯
原理・設計
製作・材料
スリット
回折格子
構成/構造
フラウンホーファー線の撮影法
簡易分光器の性能評価
トラブルが起きたときの対処法
画像の数値化・グラフ化
デジカメの分光感度特性
スペクトルデータの再画像化
分光器の応用
光害カットフィルターの特性を調べる
半導体レーザー出力光の波長の変化
簡易分光器では手が出せないもの
スペクトルに関する資料集
スペクトル(画像)の実例
---------
「測定対象別記事一覧(測定、電子工作、天文計算)」
「過去記事の一覧(測定、電子工作、天文計算)」
« スペクトルデータ再画像化 - awkでハマる | トップページ | 青いフラウンホーファー線がよく見えないのは歳のせい? »
「簡易分光器とスペクトル」カテゴリの記事
- 水を注いだコップの中のコインは真上に浮き上がって見えるのか?(2018.08.27)
- 水深2mのプールの見かけの水深は? 屈折と光線追跡(2018.08.23)
- CD-R簡易分光器の限界は? - 「イラストレイテッド光の実験」(2018.07.20)
- 簡易分光器の回折格子 - CDとDVDの違い(2016.07.28)
- 簡易分光器の特性をExcelでシミュレーションする(2016.07.26)
コメント
この記事へのコメントは終了しました。
« スペクトルデータ再画像化 - awkでハマる | トップページ | 青いフラウンホーファー線がよく見えないのは歳のせい? »
上下で合わせた画像を見るとノイズが減っているのが一目瞭然ですね。
こういうやりかたをしていたのですね。
投稿: ほよほよ | 2016年6月19日 (日) 23時09分
画像はともかく、分光分布曲線を見るときノイズが少なくなるので波長(極大、極小)がわかりやすくなるというのは大きなメリットです。
記事では効果を実感できる画像を撮ってきたのですが、よく撮れた画像ではそれほど見た目はかわらなかったりします (^^;;
投稿: セッピーナ | 2016年6月20日 (月) 08時27分