我已经完成了许多教程和指导,我能够转换部分内容。但我不知道如何将最后一行转换为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)
答案 0 :(得分: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)
并查看此Link以获取更多信息。
修改强>
这是寻找轮廓的一个例子:
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。这是一个不同的帖子,在这个网站上他们解释了在斑点检测中找到轮廓的用法。
希望这有助于。