【Processing】Webカメラの映像を取得・表示

この記事では、Processing言語で2Webカメラの映像を取得・表示する方法をソースコード付きで解説します。

スポンサーリンク

Webカメラ

Processingでは、パソコンに接続されたカメラをキャプチャーして操作できます。

処理手順
1 画面サイズを設定する。
2 PCに接続されている全てのカメラのリストを取得する。
3 リストの一番最初にあるカメラのキャプチャーする。
4 カメラから画像を取得する。
5 取得した画像を表示する。
6 4~5を繰り返す。
スポンサーリンク

ソースコード

サンプルプログラムのソースコードです。

import processing.video.*;

Capture cam;

void setup()
{
    /* 画面サイズ */
    size(640, 480);
    /* 接続されている全てのカメラの名前を取得 */
    String[] cams = Capture.list();
    /* カメラのキャプチャー */
    cam = new Capture(this, cams[0]);
    cam.start();
}

void draw()
{
     /* カメラの画像を取得 */
     if (cam.available())
     {
         cam.read();
     }
     /* 画像を表示 */
     set(0, 0, cam);
}
スポンサーリンク

実行結果

サンプルプログラムの実行結果です。

関連記事
1 Processing入門 サンプル集
Processing
スポンサーリンク
西住工房

コメント

  1. gonzo より:

    本サイトを参考にprocessingを用いてwebカメラの取得・表示をできました。しかし、アプリケーションにしようとするとどうしてもwebカメラの映像が表示されません。原因が分からないのでアドバイスを頂けたら幸いです。よろしくお願いします。

    • 管理人 より:

      ※gonzo様

      コメントありがとうございます。
      実行環境(お使いのパソコン環境やProcessingのバージョンなど)や
      エラーメッセージ(有れば)等があれば教えていただけますでしょうか。

      • gonzo より:

        processingはバージョンは3.3.5でOSはwindows10を利用しています。
        pdeファイルでは正常に実行できますがアプリケーションとしてエクスポートしたexeファイルではwindowが表示されてグレーの画面が表示されるだけでカメラの読み込みができない状態です。よろしくお願いします。

      • gonzo より:

        追記です。
        pdeファイルを作成したパソコンではそれをアプリケーションにしても実行することはできるのですが(processingはインストールされていない)他のPCでは実行上記のように実行できずにグレーな画面が表示されてしまいます。

        • 管理人 より:

          ※gonzo様
          コメントありがとうございます。
          以下の実行環境でテストしたところ、exeファイルからwebカメラの画面を出力できました。
          尚、64bitのPCで32bit版のexeファイルは起動できませんでした。

          【環境】
          ・OS:Windows10 64bit
          ・exeファイル(Windows 64bit版)
          ・他のフォルダにexeを移動させる場合は、付属しているlibフォルダも一緒に移動

          • gonzo より:

            返信ありがとうございます。
            同じ環境ですね、、、関係あるかはわかりませんが、管理人様のテストはprocessingの入っていないパソコンで行いましたか?
            映像以外の機能のアプリケーションはほとんど起動するのですが、映像だけはアプリケーションで起動できなくて試行錯誤しています。

          • 管理人 より:

            ※gonzo様
            コメントありがとうございます。
            Windows版のProcessingはインストール型のソフトではないので、
            exeファイルをデスクトップなど適当なフォルダに移動させれば
            Processingの有無が関係のない状態となるはずです。

            exeファイルをデスクトップや他のPCに移動して使う場合は、付属しているlibフォルダ(dllファイルなどが入ってる)も
            一緒に移動させる必要があるのではないでしょうか。

  2. gonzo より:

    無事起動することができました。ありがとうございます。
    USB内にフォルダを置いたまま起動しようとしていた場合、USBからフォルダを移動した際のPATHに日本語が含まれていた場合に起動ができなかったようです。
    初歩的なミスにも関わらず、いろいろなアドバイスありがとうございました。

    • 管理人 より:

      ※gonzo様

      コメントありがとうございます。
      こちらこそ、貴重なご報告をいただきまして嬉しいです。