我有一组要去噪的图像,以便在上面运行OCR:


我正在试着从图像中读取7810。
我试过了
cv2.threshold(img, 128, 255,cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
cv2.fastNlMeansDenoising(img,None,60,10,20)还有一些形态学表达式,但似乎没有一个能够充分地清除这幅图像。
关于如何充分过滤这个图像,以便我可以在pytesseract上运行OCR或一些ML检测脚本,有什么建议吗?
发布于 2019-05-31 03:52:06
您可以尝试使用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)发布于 2019-05-30 12:15:12
您可以使用中值滤波器来去除盐和胡椒噪声:
cv2.medianBlur(source, 3)然后像您所做的那样尝试Otsu阈值。这可能最终不是解决方案,但它使文本检测算法更容易在图像上工作
https://stackoverflow.com/questions/56370943
复制相似问题