如何平滑图像中的线条?

问题描述 投票:0回答:2

OpenCV是否有一种使边缘平滑的方法,如这张小的黑白图像所示?

enter image description here

我尝试过cv2.blurcv2.GaussianBlur,但这只会使图像模糊。我想使线条平滑(如图所示的黑线)。我该怎么办?

python opencv smoothing
2个回答
0
投票

您可以找到该区域的外部轮廓,然后找到凸包,并使用抗锯齿线标记将其绘制在新图像上。请参见python的fillConvexPoly方法。


0
投票

您不必在整个图像上运行GaussianBlur,而不必在所需的部分上运行。您可以创建自己的蒙版,或将类似以下内容用作起点:

blur = cv2.GaussianBlur( img, (5,5), 0)
smooth = cv2.addWeighted( blur, 1.5, img, -0.5, 0)

随时尝试使用参数。

© www.soinside.com 2019 - 2024. All rights reserved.