wiki:misc/processing/setup_processing

Version 4 (modified by obina, 10 years ago) (diff)

--

Processing インストールと確認

ダウンロードとインストール

  • ダウンロード http://processing.org/ からダウンロードリンクを選択
  • 寄付をするかどうかというページが出るので、今回は "No Donation" とする。いずれは寄付したい。
  • 対応するOSを選択してzipファイルを保存
    • Windows 64/32, Linux 64/32, MacOSX から選択
  • 今回は processing-2.2.1-windows64.zip というファイルになった。2.2.1 (19 May 2014)
  • ダウンロードしたファイルを展開して、適当なフォルダに入れる
    • 今回は自分の趣味で、C:\Tool\processing-2.2.1 とした。
  • ファイルを実行。
  • すぐにプログラムを書きたくなる気持ちをおさえて、まずは Tutorial をみる
    • https://processing.org/tutorials/ にある "Hello Processing" by Daniel Shiffman et al. を一通りみる
    • プログラムを知っている人にとっては当たり前すぎることを話しているのだが、 "プログラムの教え方"という観点から見ると参考になる
    • Level: Beginner から Intermediate, Advanced まで、いろいろある

テストプログラムの作成・実行

  • C:\Tool\processing-2.2.1\processing.exe を実行する
  • 最初のテストプログラムを書く
    void setup() {
      size(640, 480);
    } 
    
    void draw() {
      background(0);
      rect(50, 20, 200,300);
    }
    
  • ファイルを保存
    • デフォルトで日付+"a"のついたファイルができる
    • 「ドキュメント」フォルダの下にできる
  • 実行
    • セキュリティの警告が出る場合は承認
  • 黒地に白い四角形が出るはず
  • あとは File -> Examples... から適当なデモをひらいてみてみるとか、webでいろいろなサンプルをみるとか、Tutorial をみるとか。

カメラの接続

  • PCにUSBカメラを接続。ノートPCの場合は内臓カメラでもOK
  • カメラのリストをチェックするため、以下のプログラムを入力してsketch_140807bとして保存。
    import processing.video.*;
    
    Capture cam;
    
    void setup() {
      size(640, 480, P3D);
      String[] cameras = Capture.list();
    
      for (int i=0; i<cameras.length; i++) {
        println(i, cameras[i]);
      }
    }
    
    void draw() {
    }
    
    
    • 実行例(ここで使っているのは会議用の広角USBカメラ Buffalo BSW20KM11)
    • コードを書いたウィンドウの下にある出力画面に以下の表示が出る
      0 name=USB_Camera,size=640x480,fps=30
      1 name=USB_Camera,size=160x120,fps=30
      2 name=USB_Camera,size=176x144,fps=30
      3 name=USB_Camera,size=320x240,fps=30
      4 name=USB_Camera,size=352x288,fps=30
      5 name=USB_Camera,size=800x600,fps=10
      6 name=USB_Camera,size=1280x720,fps=8
      7 name=USB_Camera,size=1920x1080,fps=5
      8 name=USB_Camera,size=640x480,fps=30
      9 name=USB_Camera,size=160x120,fps=30
      10 name=USB_Camera,size=176x144,fps=30
      11 name=USB_Camera,size=320x240,fps=30
      12 name=USB_Camera,size=352x288,fps=30
      13 name=USB_Camera,size=800x600,fps=30
      14 name=USB_Camera,size=1280x720,fps=30
      15 name=USB_Camera,size=1920x1080,fps=30
      
    • これをみると、640x480, fps=30 が適当なのでカメラ番号 0 が良さそう。これを使って画像取り込み、表示をおこなう。
  • ファイルを以下のように変更して実行
    import processing.video.*;
    
    Capture cam;
    
    void setup() {
      size(640, 480, P3D);
      String[] cameras = Capture.list();
    
      cam = new Capture(this, cameras[0]); // select cam 0
      cam.start(); // start camera  
      
    }
    
    void draw() {
      background(0);      // clear (black) backgound
      cam.read();         // read camera image
      image(cam, 0, 0);   // show camera image
    }
    
  • 実行結果:ちゃんと動画が表示できている
  • cam 0 .. 12 までの解像度・fpsでは問題なく表示できているが、 cam13,14,15については黒色のまま何も表示されない
    • 当面は問題ないが、せっかくハードが 1920x1080 30fps 対応しているなら表示したい