簡體   English   中英

如何將此代碼轉換為javacv?

[英]How to convert this code into javacv?

我經歷了許多教程和指南,並且能夠轉換其中的一部分。 但是我不知道如何將最后一行轉換為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)

您可以在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部分下查看此Link

您還可以使用cvDrawContours函數以與使用cvFindContours函數相同的方式繪制輪廓。

看一下這個Link 這是該網站上的另一篇文章,他們解釋了在斑點檢測中尋找輪廓的用途。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM