現在、私は画像処理プロジェクトを開発中で、javacvを使って画像処理コンポーネントを開発しています。私は画像の興味深い部分を抽出することができましたが、今はそれらのオブジェクトのx座標とy座標を読み取る必要があります。 これは私がjavacvで抽出されたオブジェクトのx、y座標を取得する方法は?
をhaveextractedそして、私はそれらのオブジェクトを識別し、それらのオブジェクトの周囲に四角形を描画する必要があるイメージです。私はいくつかのチュートリアルを見て、次のコードを使ってオブジェクトを識別しようとしました。
IplImage img="sourceimage";
CvSize sz = cvSize(img.width(), img.height());
IplImage gry=cvCreateImage(sz, img.depth(), 1);
cvCvtColor(img, gry, CV_BGR2GRAY);
cvThreshold(gry, gry, 200, 250, CV_THRESH_BINARY);
CvMemStorage mem = CvMemStorage.create();
CvSeq contours = new CvSeq();
CvSeq ptr = new CvSeq();
cvFindContours(gry, mem, contours, Loader.sizeof(CvContour.class) , CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
CvRect boundbox;
for (ptr = contours; ptr != null; ptr = ptr.h_next()) {
boundbox = cvBoundingRect(ptr, 0);
if(boundbox.height()>10||boundbox.height()>10){
cvRectangle(gry, cvPoint(boundbox.x(), boundbox.y()), cvPoint(boundbox.x() + boundbox.width(), boundbox.y() + boundbox.height()),CvScalar.BLUE, 0, 0, 0);
System.out.println(boundbox.x()+", "+boundbox.y());
}
}
cvShowImage("contures", gry);
cvWaitKey(0);
しかし、オブジェクトの周りに矩形として描画されません。これらのオブジェクトを識別するためにcvFindContoursメソッドを使用できるかどうかを知りたいですか? javacv/opencvを使って自分の目的をアーカイブする方法を説明できる人はいますか?
あなたはこれらの矩形を描画するとき、どのように彼らはあなたが持っているオブジェクトに対して相対的? – MahdeTo
あなたの質問に対する回答を無視するのはなぜですか? – ArtemStorozhuk
@Mahde私はこれらのオブジェクトの周りに長方形を描く方法を知る必要があります。 –