| | 1 | == USカメラの接続 == |
| | 2 | * PCにUSBカメラを接続。ノートPCの場合は内臓カメラでもOK |
| | 3 | * カメラのリストをチェックするため、以下のプログラムを入力してsketch_140807bとして保存。 |
| | 4 | {{{ |
| | 5 | import processing.video.*; |
| | 6 | |
| | 7 | Capture cam; |
| | 8 | |
| | 9 | void setup() { |
| | 10 | size(640, 480, P3D); |
| | 11 | String[] cameras = Capture.list(); |
| | 12 | |
| | 13 | for (int i=0; i<cameras.length; i++) { |
| | 14 | println(i, cameras[i]); |
| | 15 | } |
| | 16 | } |
| | 17 | |
| | 18 | void draw() { |
| | 19 | } |
| | 20 | |
| | 21 | }}} |
| | 22 | * 実行例(ここで使っているのは会議用の広角USBカメラ Buffalo BSW20KM11) |
| | 23 | * コードを書いたウィンドウの下にある出力画面に以下の表示が出る |
| | 24 | {{{ |
| | 25 | 0 name=USB_Camera,size=640x480,fps=30 |
| | 26 | 1 name=USB_Camera,size=160x120,fps=30 |
| | 27 | 2 name=USB_Camera,size=176x144,fps=30 |
| | 28 | 3 name=USB_Camera,size=320x240,fps=30 |
| | 29 | 4 name=USB_Camera,size=352x288,fps=30 |
| | 30 | 5 name=USB_Camera,size=800x600,fps=10 |
| | 31 | 6 name=USB_Camera,size=1280x720,fps=8 |
| | 32 | 7 name=USB_Camera,size=1920x1080,fps=5 |
| | 33 | 8 name=USB_Camera,size=640x480,fps=30 |
| | 34 | 9 name=USB_Camera,size=160x120,fps=30 |
| | 35 | 10 name=USB_Camera,size=176x144,fps=30 |
| | 36 | 11 name=USB_Camera,size=320x240,fps=30 |
| | 37 | 12 name=USB_Camera,size=352x288,fps=30 |
| | 38 | 13 name=USB_Camera,size=800x600,fps=30 |
| | 39 | 14 name=USB_Camera,size=1280x720,fps=30 |
| | 40 | 15 name=USB_Camera,size=1920x1080,fps=30 |
| | 41 | }}} |
| | 42 | * これをみると、640x480, fps=30 が適当なのでカメラ番号 0 が良さそう。これを使って画像取り込み、表示をおこなう。 |
| | 43 | |
| | 44 | * ファイルを以下のように変更して実行 |
| | 45 | {{{ |
| | 46 | import processing.video.*; |
| | 47 | |
| | 48 | Capture cam; |
| | 49 | |
| | 50 | void setup() { |
| | 51 | size(640, 480, P3D); |
| | 52 | String[] cameras = Capture.list(); |
| | 53 | |
| | 54 | cam = new Capture(this, cameras[0]); // select cam 0 |
| | 55 | cam.start(); // start camera |
| | 56 | |
| | 57 | } |
| | 58 | |
| | 59 | void draw() { |
| | 60 | background(0); // clear (black) backgound |
| | 61 | cam.read(); // read camera image |
| | 62 | image(cam, 0, 0); // show camera image |
| | 63 | } |
| | 64 | }}} |
| | 65 | [[Image(wiki:misc/processing/file:processing_install9.png, 400px)]] |
| | 66 | * 実行結果:ちゃんと動画が表示できている |
| | 67 | [[Image(wiki:misc/processing/file:processing_install8.png, 400px)]] |
| | 68 | * cam 0 .. 12 までの解像度・fpsでは問題なく表示できているが、 cam13,14,15については黒色のまま何も表示されない |
| | 69 | * 当面は問題ないが、せっかくハードが 1920x1080 30fps 対応しているなら表示したい |