繁体   English   中英

Python OpenCV:用于文本识别的图像去噪

[英]Python OpenCV: Image Denoising for Text Recognition

我有这组图像,我想对其进行降噪以便在其上运行 OCR:

在此处输入图片说明

在此处输入图片说明

我正在尝试从图像中读取 7810。

我试过了

cv2.threshold(img, 128, 255,cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
cv2.fastNlMeansDenoising(img,None,60,10,20)

和一些形态表达,但似乎没有一个能充分清除这个图像。

关于如何充分过滤此图像以便我可以在此图像上运行 OCR 或一些 ML 检测脚本(如 pytesseract)的任何建议?

您可以首先使用中值滤波器去除椒盐噪声:

cv2.medianBlur(source, 3)

然后像您一样尝试 Otsu 阈值。 这可能最终不是解决方案,但它使文本检测算法更容易处理图像

您可以尝试使用cv2.adaptiveThreshold因为您的图像在不同区域具有不同的照明条件。

在此处输入图片说明

import cv2

image = cv2.imread("1.jpg",0)
thresh = cv2.adaptiveThreshold(image,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,21,2)

cv2.imshow('thresh', thresh)
cv2.waitKey(0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM