我想在下一张图片中找到/计算轮廓区域:
目标是删除您在图像中可以看到的所有点,因此斑点轮廓的区域小于我给出的值。
我该如何设置?
这是我用过的代码 ......
import cv2
im = cv2.imread('source.png')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
img = cv2.drawContours(im, contours, -1, (0,255,0), 1)
cv2.imshow('contour',img)
cv2.waitKey(0)
cv2.imwrite('contour.png',img)
...这是来源图片:
谢谢
答案 0 :(得分:1)
有多种方法可以做到这一点。一种方法是找到边界矩形的区域。
for contour in contours:
rect = cv2.boundingRect(contour)
area = rect[2] * rect[3]
答案 1 :(得分:1)
您可以使用cv2.contourArea()
来决定绘制哪个:
for contour in contours:
if cv2.contourArea(contour) < 80:
cv2.drawContours(im, contour, -1, (255, 255, 255), 3)