我的这种图像的水平线很粗糙,我想将其删除或至少使这些线不可见。
使用诸如高斯模糊之类的平滑技术,由于线条仍然可见,我无法获得令人满意的结果,这只会降低图像的分辨率。
cv::GaussianBlur(image, result, cv::Size(5, 5), 3);
还有其他更适合我的问题的方法吗?谢谢
答案 0 :(得分:2)
正如@ gameon67所建议的那样,您可以使用1x15的内核大小来增加y方向的模糊并省略x方向。但是,在这种情况下,我觉得平均滤波比高斯滤波更适合。您可以在官方documentation中详细了解它们。
img = cv2.blur(img,(1, 15)) # average filtering
img = cv2.GaussianBlur(img, (1, 15), 0) # Gaussian filtering