Webカメラを使用し、ピクセルデータを操作する場合は、Video libraryでProcessingを使用できます。最も簡単な方法は、IDEにバンドルされているサンプルをチェックすることです。
処理は、Javaベースのビジュアライゼーション言語で、使い方が簡単で、WIndows、MacOSX、Linuxで動作します。私は、私のMacBookの箱から出したウェブカメラのものを見つけました。
ここでは、Webカメラのフィードを読み込んでグレースケールでレンダリングするスクリプトの例(IDEにバンドルされている例に基づいています)を示します。
import processing.video.*;
int numPixels;
Capture video;
void setup() {
// Change size to 320 x 240 if too slow at 640 x 480
size(640, 480, P2D);
video = new Capture(this, width, height, 24);
numPixels = video.width * video.height;
// Make the pixels[] array available for direct manipulation
loadPixels();
}
void draw() {
if (video.available()) {
video.read(); // Read a new video frame
video.loadPixels(); // Make the pixels of video available
for (int i = 0; i < numPixels; i++) { // For each pixel in the video frame...
// Make all the pixels grey if mouse is pressed
if (mousePressed) {
float greyVal = brightness(video.pixels[i]);
pixels[i] = color(greyVal);
} else {
// If mouse not pressed, show normal video
pixels[i] = video.pixels[i];
}
}
updatePixels(); // Notify that the pixels[] array has changed
}
}
また、私のMac上でエッジ検出等
IはまだOpenCVの2.1(32ビット)を使用するために使用することができる優れたinterface to OpenCVあります。そのコードがOpenCVの最近のバージョンでも動作するかどうかはわかりません。 – karlphillip
私が必要とした出発点だったOpenCVを私に指摘してくれてありがとう! –
@トーマスあなたの質問に答えた場合、できる限り私の投稿を受け入れることを忘れないでください。 – karlphillip