日常をセンサーで記録してみたブログ

IoTの技術を使って日常をデジタルデータにして気づかなかった面白そうなことを探してみるページ。

観察環境の構築(9)

Raspberry PiのカメラでRAW形式の画像を撮影するコマンドを実行

# raspistill -r -o captureimg.jpg

 

このファイルにはJPGとRAWのデータが結合している。

これらデータを分離するためにPiDNGというユーティリティをインストールする。

# python3 -mpip install PiDNG

 

このユーティリティでJPGをDNGに変換するPythonコード

from pidng.core import RPICAM2DNG

d=RPICAM2DNG()

d.convert('captureimg.jpg')

 

上のPythonを実行するとcapture.dngというファイルが作成される

RAW画像をみるにはrawpyが使える。

f:id:takatanhb:20211024212130p:plain

照明のスイッチの画像

少し拡大するとドットがみえるようになる。

f:id:takatanhb:20211024212244p:plain

拡大した画像

ドットが見えるのはベイヤー配列によるものとのことで、

左上から[[赤 緑] [緑 青]]という配列でデータが保存されている。

緑が多いのは人間の目が緑に敏感で見かけ上感度をあげている。

画像をさらに拡大するとドットがもっと明確に見える。

f:id:takatanhb:20211024212708p:plain

拡大してドットがよく見える画像

画像センサーは色を検出しているわけでなく輝度を検出している。

センサーの前にカラーフィルターがあって、赤・緑・青が分離される。

RAW画像というのがセンサーが撮影したままのデータで、

さまざまな画像処理でフルカラー画像に現像される。

Raspberry Piだと撮影の基本的なところが勉強になる。