USBカメラを試す

UVCで画像認識するプログラムができたので、いろいろカメラを試してみた。

カメラ評価そのものが仕事ではないので、細かいことは書かないが、そこまでしなくてもはっきり「使える」「使えない」ということがあるので、確認した範囲で。

買って来たのは、

maxell pm10, Microsoft LifeCam NX-6000, NET cowboy DC-NCP130, BUFFALO BWC-130MS03A/SV, Logicool QVX-13NS, Net cowboy BBCAM 130 NightVision2

いずれも「true 130万画素」のもの

  1. UVCをサポートしているカメラ

    そもそもUVCに対応してないカメラは使えない。NET cowboyの2機種はどうやら独自プロトコルらしく、「高速USBデバイス」以上の認識をしてくれない。つまり、まるっきりダメ。ちなみに WindowXPでも、設定が悪いのか動いてくれなかった。どちらも特長のあるカメラなのに残念。

    MSのカメラはUVCをサポートしていることになっていて、dmesgにもそれらしいものが出るのだが、やはり動いてくれない。このカメラも解像度が高くて良いのに残念。

    他のカメラはちゃんと認識してくれるし、私の書いたプログラムでサクっと動く。ただ、カメラによっては対応しているプロトコルが違うので注意が必要。

  2. 画質

    使えるカメラのうちで、イメージセンサがCMOSなものは、はっきり言って使いものにならない。CMOS特有の「位置の固定したノイズ」が乗るためだ。このあたりはソフトで頑張れば消せるはずだが、生ドライバではそこまでやってくれないので、アプリケーション側で頑張る必要がある。この点で BUFFALOとmaxellはダメ。

  3. フォーカス

    BUFFALOとmaxellはカメラ自体でオートフォーカスがついている。一見良さげに見えるのだが、被写体によってはうまくフォーカスが合わないので、フォーカスが迷うという状態になる。ビデオチャットに使うのならこれで良いのだが、他のものには使えないと思っていい。

    Logicoolはパンフォーカスらしいのだが、綺麗に見える。

  4. クリップ

    カメラを止めておくためのクリップの方式がいろいろある。クリップらしいクリップは、LogicoolとNightVision。MSは万力のような機構になっている。BUFFALOとmaxellは載せるだけ。DC-NCP130は三脚になっている。載せるだけのは使うのは楽なのだが、固定されないのが困りもの。

  5. 総括

    6台も買って来たのだが、結局「使える」と言えるのはLogicoolのノートPC用だけ。他は動くものであってもカメラ自体がイマイチだ。

「使える」ものを見分ける方法は、

  • イメージセンサがCCDであること

    残念ながら、価格の安いものはCMOSだ。linux-uvc側で固定ノイズをキャンセルする機能が実装されない限り、CMOSのカメラは使えないと思った方がいい。顔が湿疹やニキビだらけに見えてしまう

  • UVC対応であること

    箱に「UVC対応」あるいは「OS標準ドライバでOK」という意味のことが書いてある

  • 「オートフォーカス」は用途による

    ビデオチャット用なら使えるのだが…

  • 「フェイストラック」は無意味

    カメラに書いてある「フェイストラック機能」は、Windows上のソフトで実現されているものなので、Linux的には意味がない。また、Windows上でもビデオチャットのように顔を写すことを目的としたアプリケーションでないと意味がない