【发布时间】:2017-01-24 13:05:06
【问题描述】:
假设我有一个二值图像,我想在 OpenCV 中执行以下操作:给定一个点,测量该点所属的连通分量的面积和周长..
def areaAndPerimeter(point):
...do some stuff...
return area, perimeter
我知道我可以使用cv2.findContours() 来查找每个连接组件的周长和面积,但我不知道如何将该信息与输入点配对。 point的连通分量对应哪个周长和面积
【问题讨论】:
-
我认为你会这样做
connectedComponentsWithStats()并且它用相同的颜色标记每个 blob 中的所有点。因此,您会找到与您的点相对应的颜色(即标签),以找到它属于哪个 blob。我可能完全错了!我相信它在 Matlab 中称为bwlabel()。 -
是的,我开始研究一个解决方案,我只使用普通的旧
connectedComponents(),然后逐个提取每个组件并在每个组件上分别运行findContours(),但这似乎是一种浪费我可以在整个图像上运行一次findContours(),然后一起跳过连接的组件。
标签: python opencv image-processing connected-components