【rawpy】PythonでRAW現像 -その2 : EXIF確認編-

カメラ・信号処理

この記事にはプロモーションが含まれています。

前回の記事では、rawpyを導入しました。

その際に、rawpy内のpostprocessクラスで現像すると、ホワイトバランスのパラメータがカメラ内現像処理と差分があることが分かりました。

そこで、今回はRAW画像に埋め込まれているデータを簡単・軽量に確認する方法をまとめます。

Exifとは

EXIF (Exchangeable image file format) は、デジタルカメラで撮影された写真や画像に埋め込まれたメタデータになります。

Rawやjpgなどの画像フォーマットには、たいていexif情報が埋め込まれています。

PC上で画像ファイルを右クリックして表示できるプロパティもExifを参照してます。

rawpyでExif情報を確認する

それでは、rawpyでexif情報を確認してみます。

vscodeなどのデバッグ機能を持つエディタで、デバックモードでrawpyが含まれたファイルを実行します。

そうすると、rawpyで読みだした画像データが持っている各パラメータを確認できます。

vscodeデバッグモードでマウスオーバーでパラメータを確認した例

rawpyの場合、メソッドの形で各パラメータは保持されてます。

このため、これを読み出すコードを作成すれば、デバッグモードを実行しなくても値を確認できます。

例えば、各チャンネルの黒レベルを読み出すテストコードを作成し、実行します。

import rawpy
import cv2
import os


raw_filename = '.\\test.ARW'
in_raw = rawpy.imread(raw_filename)
out_raw = in_raw.postprocess()
print(in_raw.black_level_per_channel)
> python test_get_rawparam.py
[512, 512, 512, 512]

このように、黒レベルが512であることが確認できました。

他にRawPyクラスからどんな値が読み出せるのかは、APIドキュメントを参考に参考にしてください。

ExiftoolでExif情報を確認する

エディタのデバッグ機能や一つ一つをメソッドで読み取るのは、確認したいものが決まっているときは有用です。

しかし、exifデータを網羅的に確認したいときには使いづらいです。

このようなときは軽量に動作するExiftoolというアプリが便利です。

まずは、公式HPに飛びます。

Windows、Macでダウンロードリンクが張られているので、それをダウンロードします。

ダウンロードした圧縮ファイルを展開すると、exeファイルがあります。

そこに、exif情報を読み取りたい画像ファイルをドラッグ&ドロップします。

インストールをしていないexeファイルを実行する場合、システム側から警告が出ることがありますが、気にせず実行してください。

すると、exif情報がズラズラと表示されます。

このExif情報を確認することで、前回記事で扱ったホワイトバランス値が確かにオートと昼光で違うということが確認できます。

まとめ

今回は、画像に埋め込まれているExif情報を簡単・軽量に確認する方法についてまとめました。

他にも、写真ビューアアプリで確認する方法があります。

しかし、ホワイトバランスのような少し込み入ったパラメータを確認したい場合は、Photoshopなどの少し高尚な画像編集ソフトが必要になると思います。

また、pythonでExifを確認するライブラリもあるようですが、もっと手軽に確認したいケースもあるでしょう。

今回紹介した方法はいずれもかなり手軽で、軽量に動作します。

これらを試した後に、各々のケースに合わせて、追加ツールなどの使用を検討いただくのもいいのではないでしょうか。

コメント

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