【Processing】Open CVを使ってみる(1)動体検知とピクセル情報取得
Open CVを使う機会があったので。
動体検知はおもしろいなあ。
import gab.opencv.*; import processing.video.*; Capture camera; //カメラを使う OpenCV opencv; //オープンCVを宣言 void setup() { // 画面サイズ size(1280, 720); // 動画の読み込み camera = new Capture(this, width, height); opencv = new OpenCV(this, width, height); // 背景差分の初期設定 opencv.startBackgroundSubtraction(5, 3, 0.1); camera.start(); //キャプチャを開始 background(0); } void draw() { //image(camera, 0, 0); カメラキャプチャしているが、その映像はそのままは表示しない opencv.loadImage(camera); // 背景データの更新 opencv.updateBackground(); opencv.dilate(); opencv.erode(); strokeWeight(1); for (Contour contour : opencv.findContours()) { for (PVector point : contour.getPoints()) { stroke(camera.get((int)point.x, (int)point.y)); line(point.x, point.y,width/2, point.y); //line(point.x, point.y, width/2,height/2); } } } //キャプチャイベント void captureEvent(Capture camera) { camera.read(); }