2

私は多くのチュートリアルとガイドラインを経験し、その一部を変換することができました. しかし、最後の行を javacv に変換する方法がわかりません。このコードをjavacvに変換するのを手伝ってくれませんか?

img = cv2.imread('sofud.jpg')

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

ret,thresh = cv2.threshold(gray,127,255,1)

contours,hierarchy = cv2.findContours(thresh,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)

  for cnt in contours:
    x,y,w,h = cv2.boundingRect(cnt)
    if 10 < w/float(h) or w/float(h) < 0.1:
    cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)
4

1 に答える 1

0

Java CVでは、最後の行を次のように使用できます。

opencv_core.cvRectangle(image, opencv_core.cvPoint(m,n), opencv_core.cvPoint(i,j), opencv_core.cvScalar(0,0,255,0), thickness, 8, 0);

パラメータの意味:

opencv_core.cvRectangle(CvArr* img, CvPoint , CvPoint, CvScalar color, int thickness=1, int lineType=8, int shift=0)

詳細については、このリンクを参照してください。

編集:

これは輪郭を見つける例です:

cvFindContours(grayImage, memory, contours, sizeof(CvContour.class) , CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));

パラメータの意味:

cvFindContours(CvArr* image, CvMemStorage* storage, CvSeq** first_contour, int header_size=sizeof(CvContour), int mode=CV_RETR_LIST, int method=CV_CHAIN_APPROX_SIMPLE, CvPoint offset=cvPoint(0,0) )

パラメータの詳細については、セクションの下にあるこのリンクFindContoursを参照してください。

関数を使用して、cvDrawContours関数を使用したのと同じ方法で輪郭を描画することもできcvFindContoursます。

このリンクを見てください。これは、このWebサイトの別の投稿で、ブロブ検出で輪郭を見つける方法について説明しています。

お役に立てれば。

于 2012-07-07T05:07:31.957 に答える