下記にprocessing opencvにおいての視差画像(ステレオマッチング)のプログラムを組んであります。
ここからステレオマッチングした後の画像にある一定の色(白色)を検出したら四角く囲むというプログラムを組みたいのですができる方いらっしゃいますか?
できれば自分が指定する大きさの白色を検出したら四角く囲みたいです。
わかりにくかったらすみません。
四角く囲った際にピーっと音を鳴らせたら鳴らしたいです。
processing3 opencv2.3.1です。
import gab.opencv.*;
import org.opencv.core.Mat;
import org.opencv.calib3d.StereoBM;
import org.opencv.core.CvType;
import org.opencv.calib3d.StereoSGBM;
OpenCV cvL, cvR;
PImage depth;
void setup() {
size (600,600);
// 画像取得
cvL = new OpenCV(this, loadImage("1"));
cvR = new OpenCV(this, loadImage("2"));
// 画像をグレースケール変換
cvL.gray();
cvR.gray();
Mat grayL = cvL.getGray();
Mat grayR = cvR.getGray();
// 視差マップ格納用
Mat disparity = OpenCV.imitate(grayL);
// BMでステレオマッチング(視差計算)
StereoBM stereo = new StereoBM();
stereo.compute(grayL, grayR, disparity );
Mat depthMat = OpenCV.imitate(grayL);
disparity.convertTo(depthMat, depthMat.type());
// 得られた奥行きデータを画像化
depth = createImage(depthMat.width(), depthMat.height(), RGB);
cvL.toPImage(depthMat, depth);
image(depth, 0, 0);
}
}
void draw() {
}
あなたの回答
tips
プレビュー