如何在opencv中使用python语言清理图像中的线条并确保图像不失真

Posted

技术标签:

【中文标题】如何在opencv中使用python语言清理图像中的线条并确保图像不失真【英文标题】:How to clean lines in image and make sure image is not distorted using python language in opencv 【发布时间】:2021-06-05 22:49:28 【问题描述】:

如何清除图像上的线条并确保图像不失真? 1st picture

2nd picture

【问题讨论】:

【参考方案1】:

这个目的和去噪没有单一的解决方案,但是你可以使用以下两个参数,虽然由于线条和图像的颜色,很难完全去除。

# apply morphology close and open to make mask
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (10,10))
morph = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel, iterations=1)
mask = cv2.morphologyEx(morph, cv2.MORPH_OPEN, kernel, iterations=1)

然后:

# do OTSU threshold 
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
otsu = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)[1]

【讨论】:

以上是关于如何在opencv中使用python语言清理图像中的线条并确保图像不失真的主要内容,如果未能解决你的问题,请参考以下文章

基于python语言的opencv如何把图片中指定区域截取出来?

使用 OpenCV 和 Python 识别信用卡号

如何在python中使用opencv复制图像区域?

如何在Python中使用OpenCV以特定顺序显示图像?

如何在 Python 中使用 OpenCV 合并 2 个灰度图像

如何使用 OpenCV 在 Python 中找到图像的平均颜色?