C920tは価格.comのWebカメラランキングでも上位にあるのですぐにアンテナにかかりましたが、決め手は
- 最短7cmのとってもマクロな焦点距離
- UVC対応
- ハードウェアH.264エンコード
- 海外のウェブカムハックでよく話に挙がっている
- 三脚雲台ネジ穴
さっそくボードにつないで実験してみるわけですが、ARMボードでの使用となれば、早々簡単にはいかない。uvccaptureで静止画撮影してみたんですが、Raspberry Piで撮るとやけに暗いし色もおかしい。UDOOだとそれなりにきれいに撮れるのに。uvccapture -vで調べてみた結果、Brightness、Contrast、Saturation、Gainの設定がおかしくなっていた。uvccaptureのソースを読んでみると、コマンドラインから前記のパラメータが指定されていない場合、v4l2ドライバへのioctlコールでパラメータリセットがかかる。そうなると、これがRPi固有の問題か、他のカーネルでも同じかわかんないけど、おかしな設定になってしまう。あとuvccaptureのソースを読んだついでに書いておくと、前記パラメータに0を指定すると無視されてリセットがかかり、やはりおかしな初期値が使われる。これはさすがにバグだと思う。
さて、UDOOを参考に
- Brightness: 128
- Contrast: 128
- Saturation: 128
- Gain: 1
でもまだ問題が残る。フォーカスである。
カメラの前に被写体として瓶を置いて撮ってみるものの、ピントが合ってない。さてどうしたものかと思っていろいろいじっていると、v4l2-ctlでフォーカスの設定ができそうなことに気づく。
$ v4l2-ctl --list-ctrls ... focus_absolute (int) : min=0 max=250 step=5 default=8189 value=0 flags=inactive focus_auto (bool) : default=1 value=1 ...これが使えるとしたら、UVCもなかなか気が利く。
まずはオートフォーカスをオフに。
$ v4l2-ctl --set-ctrl focus_auto=0次にfocus_absoluteという値をいじってみる。今の設定値は
$ v4l2-ctl --get-ctrl focus_absolute focus_absolute: 0なので、ここから少しずつ刻みながら画像を確認してみる。
$ v4l2-ctl --set-ctrl focus_absolute=0 $ uvccapture -x1920 -y1080 -B128 -C128 -S128 -G1 -ofocus00.jpg $ v4l2-ctl --set-ctrl focus_absolute=10 $ uvccapture -x1920 -y1080 -B128 -C128 -S128 -G1 -ofocus10.jpg $ v4l2-ctl --set-ctrl focus_absolute=20 $ uvccapture -x1920 -y1080 -B128 -C128 -S128 -G1 -ofocus20.jpg $ v4l2-ctl --set-ctrl focus_absolute=30 $ uvccapture -x1920 -y1080 -B128 -C128 -S128 -G1 -ofocus30.jpg $ v4l2-ctl --set-ctrl focus_absolute=40 $ uvccapture -x1920 -y1080 -B128 -C128 -S128 -G1 -ofocus40.jpg $ v4l2-ctl --set-ctrl focus_absolute=50 $ uvccapture -x1920 -y1080 -B128 -C128 -S128 -G1 -ofocus50.jpg $ v4l2-ctl --set-ctrl focus_absolute=60 $ uvccapture -x1920 -y1080 -B128 -C128 -S128 -G1 -ofocus60.jpgで、結果が下の画像。なおカメラから被写体までの距離は、チポトレソースが約10cm、シナモンシュガーが約20cm、ボトルのビールが約30cmです。(ちなみにこれらはアメリカのトレーダージョーで買い漁ってきた物。)
focus_absolute=0 |
focus_absolute=10 |
focus_absolute=20 |
focus_absolute=30 |
focus_absolute=40 |
focus_absolute=50 |
focus_absolute=60 |
撮影風景↓
まずfocus_absoluteに関してわかるのは、値が小さいほど無限遠側、大きいほどマクロ側のフォーカスとなること。それから10~30cm程度の近距離の被写体をうまく収める設定値はなさそう。10~40あたりの範囲で好みを調整するといいかもしれない。
オートフォーカスのときにどういう測距点を使っているのかわかりませんが、ちゃんと撮りたければマニュアルで設定してあげるほうがよさそうです。
0 件のコメント:
コメントを投稿