FlashやC#.NETやC++でwebcamを色々扱ってきたけど、キャプチャとピクセル単位の処理と保存とネットワークに乗せる事に関してはprocessingが一番シンプルにできるらしい。
フレームをマウスクリックするとキャプチャしてファイルに保存する。
Source Code (processing 0124 Beta)
/***
CaptureandSaveFrame
Compiler:Processing0124Beta
Date:2007/4/29
Author:ShoHashimoto
WebSite:http://shokai.org
***/importprocessing.video.*;
Capturecamera;
voidsetup(){
size(640,480);//width,height
camera=newCapture(this,width,height,12);//12fps
}voiddraw(){
image(camera,0,0);
}voidcaptureEvent(Capturecamera){
camera.read();
}voidmousePressed(){
println(“saveFrame”);
saveFrame(“####.jpg”);
}
Flash(AS2)はFMSを使わなければファイルへの書き込みができないのと、普通のSocketが無いのが駄目だ。用途とセキュリティポリシー上そうなっているんだろうけど。
AS3とApolloフレームワークはそこが改善されている。(なんか怖い気もする)
C#.NETはそもそもDirectShowが存在しないので、webcamを扱うにはDirectShow.NETを使う事になる。(もしくはOpenGL)
C++は、なんか難しかった。