OpenCV连通元件的周长和面积给定点

2024-05-01 22:06:33 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个二值图像,我想在OpenCV中执行以下操作:给定一个点,测量该点所属连接组件的面积和周长。。在

def areaAndPerimeter(point):
   ...do some stuff...
   return area, perimeter

我知道我可以使用cv2.findContours()来查找每个连接组件的周长和面积,但我不知道如何将这些信息与输入点配对。哪个周长和面积对应于point的连接组件


Tags: 图像returndef组件areasomedoopencv
1条回答
网友
1楼 · 发布于 2024-05-01 22:06:33

对于这个函数,我将从这个点开始增加一个区域。下面是一个伪代码:

 - Define a point queue Q
 - Define a foreground point vector F
 - Define a boundary point vector B
 - Put starting point in Q
 - While Q is not empty
      - p = Q.top
      - if p is foreground
          - F.push(p)
          - Q.push(neighbors of p)
      - else 
          - B.push(p)
- Return size(F), size(B)

最后,F包含前景像素,B包含边界像素(黑色像素正好在白色像素之外)。因此,size(F)给出了面积,size(B)给出了周长。在

相关问题 更多 >