processing Note カメラ利用編 processing ではカメラからの入力も比較的簡単に扱うことができます。 ■カメラ利用の手順 ・カメラを手に入れます。 カメラについては、i-linkでつながるビデオカメラ、WEBカメラなどさまざま なカメラが利用可能です。 WEBカメラの場合は、比較的広く使われているLogitech社のもの(通称 q-cam )が相性の問題が発生しにくいようです。 僕の手元に、以前1000円くらいでかったcmosのUSBカメラでも動作していました。 また、SONYのTRV950などのカメラ+DELLのPCでも動作していました。 WEBカメラは各社からさまざまのタイプが出ていますが、場合によっては認識 しないケースもあるかもしれません。 MACの場合は内臓のカメラがそのまま利用できるようです。 また、ひと工夫必要ですが、q-cam,i-link経由のビデオなども使えるようです。 ・ソフト的な準備 カメラ付属のドライバーソフトをインストールし、付属のアプリケーションで キャプチャーなどの機能が動作しているかどうかをまず確認します。ドライバー ソフトは、たいてい各メーカーのWEBからダウンロードできるでしょう。 windowsでカメラを使う場合 winvdigというフリーのドライバーインストールが必要になることもあるよう です。2008現在オフィシャルサイトは閉じているようですが、配布しているサ イトがいくつかあります。http://www.shiffman.net/vdig/WinVDIG_101.exe ・シンプルなサンプルプログラム HELP->reference->で captureと引けば、カメラ入力を表示する簡単なプログラム例がでてきます。 http://processing.org/reference/libraries/video/Capture.html 他にもrefrence内で camera,videoといったキーワードで検索するといろいろ でてきます。 ・MAC(OSX)で内臓カメラ以外のカメラを使う場合 macamというソフトを導入すれば動作するようです。 もともとmac os で動作することが確認されているカメラでないと難しいかも しれません。 手順 macamのドライバー(http://webcam-osx.sourceforge.net/)をダウンロード。 コンポーネントファイルを「Library/QuickTime/」フォルダにコピー。 ■ 複数のカメラが接続されている場合の選択方法 http://processing.org/reference/libraries/video/Capture.html のサンプルプログラムのsetup()部分にある英語のコメントに従います。 1) 10行目あたりにあるコメント //println(Capture.list()); をはずします。 println(Capture.list()); カメラ名の一覧が表示されます。 #winではエラーになることもありました(原因不明)。 2) カメラの名前が得られたら、 6行目あたりのキャプチャ行を、そのカメラ名称をいれて 書き直します。 理屈のうえでは、複数のカメラ入力もできそうです。captureのインスタンス を複数宣言し、各カメラをアサインすればできそうですが、まだ試してないです。