使用 python 平滑图像轮廓

Smooth image contours using python

我对图像应用了一些操作以去除白色背景(颜色聚类),但问题是结果在轮廓上并不平滑,如您在此处所见:https://imgur.com/a/QLwpE.

要在不模糊整个图像的情况下平滑轮廓,您有什么建议?

提前致谢!

我认为一个简单的双边过滤器就可以完成这项工作。您还可以尝试更高级的过滤器,例如 Total Variation Denoising.

请记住,如果您输入的图像彼此之间差异很大,则此过程永远不会完美。

您需要的是图像抠图。基本思想是确定像素中存在的背景颜色(白色)的数量并将其替换为黑色。这将 anti-alias 轮廓。

我找到了一种方法来解决我的问题。第一步是使用 approxPolyDp(https://docs.opencv.org/3.4.0/d3/dc0/group__imgproc__shape.html#ga0012a5fdaea70b8a9970165d98722b4c) 来近似轮廓。第二步是在轮廓上有一个渐进的透明度。

每张图片的结果并不完美,但清晰多了。

希望对您有所帮助!