java 图形检测_使用OpenCV[Java]检测简单几何图形

我正在编写一个Java应用程序来检测简单的几何形状。在

下面是一些代码[Python]:contours,h = cv2.findContours(thresholdedImage,1,2)

for cnt in contours:

approx = cv2.approxPolyDP(cnt,0.01*cv2.arcLength(cnt,True),True)

print len(approx)

if len(approx)==5:

print "pentagon"

cv2.drawContours(img,[cnt],0,255,-1)

elif len(approx)==3:

print "triangle"

cv2.drawContours(img,[cnt],0,(0,255,0),-1)

elif len(approx)==4:

print "square"

cv2.drawContours(img,[cnt],0,(0,0,255),-1)

elif len(approx) == 9:

print "half-circle"

cv2.drawContours(img,[cnt],0,(255,255,0),-1)

elif len(approx) > 15:

print "circle"

cv2.drawContours(img,[cnt],0,(0,255,255),-1)

使用Java的OpenCV方法,我无法提取近似轮廓的“len”(长度)属性(以便确定检测到的形状)。在

产生一对Java轮廓:

^{pr2}$

我想从上面的代码中得到一个特定轮廓对象的点数4和{}。在

我知道我可以把它转换成一个字符串然后提取数字,但是肯定有更好的方法,对吧?在

谢谢你的回复。在

你可能感兴趣的:(java,图形检测)