为什么CC_STAT_AREA值大于minAreaRectanlge.width * height?

时间:2019-07-09 06:46:47

标签: python opencv3.0 connected-components

嗨,我怀疑从opencv中的轮廓线重新定义CC_STAT_AREA和minAreaRect。 来自连接组件的CC_STAT_AREA提供了图像中Blob的选定组件的区域。当我们采用相同斑点的轮廓时,cv2.minAreaRect为我提供了围绕斑点的矩形​​的宽度和高度。据我了解,作为CC_STAT_AREA,blob中的白色像素数应小于minArearect(width * height)。但对于少数问题,我得到了一个矛盾的答案。 谁能解释为什么会这样?

import cv2
import numpy as np
img=cv2.imread("E:/new.png",cv2.IMREAD_GRAYSCALE)

cv2.imshow("Original",img)image1,contours,hier=cv2.findContours(img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)
image1,contours,hier=cv2.findContours(img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)
nb_components, output, stats, centroids = cv2.connectedComponentsWithStats(img,8,cv2.CV_32S)
statcontours=[]
for cnt in contours:
    rect = cv2.minAreaRect(cnt)
    (x, y), (w, h), angle = rect
    statcontours.append(rect)
    cv2.drawContours(rgb_img,[box],0,(0,0,255),2)
cv2.imwrite("bbimage21",img)

Area from connected Components vs MinAreaRect

Input Image

0 个答案:

没有答案