OpenCV是否有一种使边缘平滑的方法,如这张小的黑白图像所示?
我尝试过cv2.blur和cv2.GaussianBlur,但这只会使图像模糊。我想使线条平滑(如图所示的黑线)。我该怎么办?
cv2.blur
cv2.GaussianBlur
您可以找到该区域的外部轮廓,然后找到凸包,并使用抗锯齿线标记将其绘制在新图像上。请参见python的fillConvexPoly方法。
您不必在整个图像上运行GaussianBlur,而不必在所需的部分上运行。您可以创建自己的蒙版,或将类似以下内容用作起点:
blur = cv2.GaussianBlur( img, (5,5), 0) smooth = cv2.addWeighted( blur, 1.5, img, -0.5, 0)
随时尝试使用参数。