python - 适当的轮廓中断

标签 python opencv

我想借助轮廓分析图像中的物体几何形状。这样可以确定角度和距离等参数:

enter image description here

但有些图像看起来像这样:

enter image description here enter image description here enter image description here enter image description here

我试图在两个对象之间做一个轮廓中断,问题是对象没有固定大小。他们可以改变自己的长度和形状。因此,轮廓中断是在错误的位置完成的,因此无法进行适当的分析。现在,轮廓中断与下方对象的大小相结合。正确的休息应该是这样的:

enter image description here

知道如何解决这个问题吗?

编辑:

包含输入图像的文件夹: https://ufile.io/v6fqs

例子:

enter image description here enter image description here enter image description here

最佳答案

感谢您提供示例和精心设计的问题。

这确实是一个大问题,考虑到医学影像时更是如此。在我看来,答案在于 Blob 检测和分离方法。

一个好的方法是进行一些二值化、形态学变换并搜索凸性缺陷 (https://docs.opencv.org/master/d3/dc0/group__imgproc__shape.html#gada4437098113fd8683c932e0567f47ba)。

convexityDefects =  cv.convexityDefects(contour, convexhull[, convexityDefects] )

我也认为这个话题也可以帮助你:

http://answers.opencv.org/question/71691/single-blob-multiple-objects-ideas-on-how-to-separate-objects/

关于python - 适当的轮廓中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54290566/

相关文章:

java - 在 Java 中,是否存在可与 Python 的 socketserver 媲美的东西?

python - Matplotlib 中figure.add_axes() 中的left 和bottom 有何作用?

python - Pandas 在使用 apply 方法时删除了 lambda

python - OpenCV:将不规则形状轮廓内部设置为颜色

python - 自定义web2py注册

python - 缺失值屏蔽数组相关性 (numpy.ma)

python - 如何使用 cv2.kmeans 中的标签作为列表的索引?

c++ - memcpy vtkPoints 使用 GetVoidPointer 方法

ios - 为什么这种旋转方法会给图像带来死角?打开简历

image-processing - OpenCV中检测到的轮廓数量不匹配