[英]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.