繁体   English   中英

连接组件中的OpenCV周长和面积给定点

[英]OpenCV Perimeter and Area given point in connected component

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

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

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

对于此功能,我将从该点开始增加一个区域。 下面是一个伪代码:

 - 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)给出周长。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM