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

时间:2019-05-30 02:35:26

标签: python opencv

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

enter image description here

enter image description here

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

我尝试过

var options = {
   key: fs.readFileSync('/etc/letsencrypt/live/mysite.com/privkey.pem'),
   cert: fs.readFileSync('/etc/letsencrypt/live/mysite.com/fullchain.pem'),
   ca: fs.readFileSync('/etc/letsencrypt/live/mysite.com/chain.pem')
};

和一些形态学表达,但似乎无法有效清除此图像。

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

2 个答案:

答案 0 :(得分:1)

您可以首先使用中值过滤器去除盐和胡椒粉的噪声:

cv2.medianBlur(source, 3)

然后尝试完成Otsu阈值设置。这可能最终不是解决方案,但是它使文本检测算法更容易在图像上工作

答案 1 :(得分:0)

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

enter image description here

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)