OpenCV:查找具有不同背景的对象的轮廓

时间:2019-08-14 07:14:58

标签: python opencv contour

我试图弄清楚如何在X射线上找到物体的轮廓。 我无法附加使用的原始图像,因为它们受版权保护。 类似的例子: https://ibb.co/LgzSs7m

我不能仅仅使用阈值并找到轮廓,原因有两个:

  1. 某些图片上有阴影(例如:https://ibb.co/FmvSRXchttps://ibb.co/S5vsQj1),其颜色与对象的颜色非常相似。因此,二值化因此而感到困惑(我使用了模糊处理,但并不能改善结果)。

  2. 有时在背景(头发等)中有噪声,二值化也将其作为对象的一部分。

我还尝试使用cv.adaptiveThreshold并执行类似https://answers.opencv.org/question/182345/how-do-i-draw-only-external-contour/的操作 但是由于同样的问题我没有成功:

  1. 不仅对象而且图像上的阴影也会创建边缘

  2. 必须关闭轮廓,但是有时背景中会出现噪点(或背景颜色与对象颜色非常相似),并且在这些地方轮廓会破裂。我无法连接最近的轮廓,因为在这种情况下,由噪声产生的异物也将包含在轮廓中。

所以我的问题是:也许有一些技术可以改善边缘检测?应用一些滤镜,比较密度还是其他?

0 个答案:

没有答案