Posted at

ラズパイのカメラ性能メモ


背景

ラズパイにカメラをつけて、定期的に画像をとって、画像に映った文字とか認識したい。

画像の細かいところまで見たい時に、どんなカメラや設定にすればいいかなと調査した

メモです。


試したカメラ

・Webカメラ: ロジクール c920r(1万円くらい)

画像がきれいと評価が高かったWebカメラを試しました。

・カメラモジュール: ラズパイ用カメラモジュール v1.3(900円くらい)

解像度が500万->800万に上がっているv2(4500円くらい)もあります。


写真の画素数と解像度の関係

画素数は一枚の写真のデータ量を表し、画素数が大きいほど、データ量が多く、より細かいところまで見れます。(アップにした時にきれいに見えます)

解像度はデータの密度を表し、1インチの四角形に何画素入るかという数値です。

ただ、PCなどで表示する際の解像度は画像解像度といって、単純にピクセル数を表します。

画面解像度はフルHDだと1920x1080、4Kだと3840x2160のように決まっているようです。

c920r

- 解像度:300万(ソフトウェア処理で1500万)

カメラモジュールv1.3

- 解像度:500万(2592×1944)


c920rのオプション

$ v4l2-ctl -L

brightness (int) : min=0 max=255 step=1 default=-8193 value=128
contrast (int) : min=0 max=255 step=1 default=57343 value=128
saturation (int) : min=0 max=255 step=1 default=57343 value=128
white_balance_temperature_auto (bool) : default=1 value=1
gain (int) : min=0 max=255 step=1 default=57343 value=0
power_line_frequency (menu) : min=0 max=2 default=2 value=2
0: Disabled
1: 50 Hz
2: 60 Hz
white_balance_temperature (int) : min=2000 max=6500 step=1 default=57343 value=4000 flags=inactive
sharpness (int) : min=0 max=255 step=1 default=57343 value=128
backlight_compensation (int) : min=0 max=1 step=1 default=57343 value=0
exposure_auto (menu) : min=0 max=3 default=0 value=3
1: Manual Mode
3: Aperture Priority Mode
exposure_absolute (int) : min=3 max=2047 step=1 default=250 value=250 flags=inactive
exposure_auto_priority (bool) : default=0 value=0
pan_absolute (int) : min=-36000 max=36000 step=3600 default=0 value=0
tilt_absolute (int) : min=-36000 max=36000 step=3600 default=0 value=0
focus_absolute (int) : min=0 max=250 step=5 default=8189 value=0 flags=inactive
focus_auto (bool) : default=1 value=1
zoom_absolute (int) : min=100 max=500 step=1 default=57343 value=100

v4l2-ctl -c zoom_absolute=200

# 撮影
fswebcam -r 1920x1080 -F 30 ./webc_z500.jpg

大きさ:1920x1080

zoom:100(default)

zoom:200

zoom:500

ズームを200より大きくしても、見た目は変わりませんでした。

ファイルの容量も変わらないので、謎です。設定がおかしいのかもしれません。。

大きさを変える:640x360

解像度は変わってないです。単純に取得する範囲が小さくなりました。

sharpnessは、PCで見る分には違いがあまりわかりませんでしたが、

画像容量は大きくなったので、線とかくっきりしたのかなと思います。

大きさ:1920x1080、shapeness:255、contrast:255、zoom:200


カメラモジュールのオプション

https://www.mztn.org/rpi/rpi23.html

詳細はここを見ていただけたらと。

raspistill -o cameram0.jpg -w 1920 -h 1080

大きさ:1920x1080 (容量1.2M)

raspistill -o cameram_sh100_A.jpg -w 1920 -h 1080 -sh 100 -co 100 -br 55 -sa -50

小さいサイズ:640x360 (容量164k)

MAXサイズ:2592x1944 (容量2.6M)

raspistill -o cameram_skt.jpg -w 1920 -h 1080 -n -ifx sketch

スケッチ風

この他にもISO感度(100〜800)、EV補正(-10~10)などのオプションがあります。

ISO感度を小さくして、EV補正で少し明るく(5とか?)すると、細かい文字の読み取りにいいかもしれません。


まとめ

解像度1500万にするソフトウェアってwindowsのアプリのことだと思うんですが、

ラズパイの設定で最大解像度にできるんでしょうか・・?

誰か教えて欲しいです。

ズームも。。