【OpenCV】輝度分布テキストデータから画像を作成する方法!

この記事では、python-openCVをつかって、輝度分布が出力されたテキストデータから、画像を作成する方法をご紹介していきます。

 

具体的には以下のようなイメージですね。

(適当な乱数でデータ作成していますので、生成された画像に特に意味はありません。)

テキストデータを画像に変換するという作業イメージ図

 

上の画像のテキストファイルは整数値しかはいっていませんが、どんな数値でも画像化できるようにプログラムを書いています。

 

データ分析の際などに是非ご活用ください。

 

それではやっていきましょう!

 

※pythonのインストールから始めたい方は以下からご覧ください。

別途インストールが必要なopenCVについては以下で解説しています。

 

スポンサーリンク

輝度分布データから画像作成するサンプルコード

さっそくですが、以下が表形式のテキスト輝度データから白黒画像を作成するサンプルコードです。

#ライブラリインポート
import cv2
import numpy as np

#輝度データの読み込み
kido=np.loadtxt('data.txt')
max_val=np.amax(kido)
kido=kido/max_val*255
kido=kido.astype('uint8')

#画像出力
cv2.imwrite('output.jpg',kido)

 

このコードの保存フォルダにあるdata.txtを読み込み、同じフォルダにoutput.jpgという画像を出力するようにしています。

スポンサーリンク

サンプルコードの解説

簡単にサンプルコードの解説をしていきましょう。

 

先ほどのコードでやっていることは以下の通りです。

①輝度データの読み込み

②データの最大値を取得

③読み込んだデータを最大値で割って255をかけた数値に変換

④③の数値データを画像化

 

③の処理をしていなければ、小さい数値ばかりのデータだと明暗が表現できなかったり、数値の大小が画像の明るさにきちんと反映されません。

簡単に言うと8ビットの画像に変換しているという感じですね。

 

なぜそんなことをする必要があるのかが良くわからない人は、画像がどのように表現されているのかを少し勉強してみると良いでしょう。

以下に参考になりそうな記事を載せておきます。

 

スポンサーリンク

おわりに

というわけで今回はpython-openCVを使って、テキストファイルに記入された輝度分布データから白黒画像を作成する方法をご紹介しました。

 

数値データを可視化したいときなどにぜひご活用ください。

 

このように、私のブログでは様々なプログラミングスキルを紹介しています。

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村 IT技術ブログへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました