我要对这组图像进行降噪,以便在其上运行OCR:
我正在尝试从图像中读取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检测脚本?
答案 0 :(得分:1)
您可以首先使用中值过滤器去除盐和胡椒粉的噪声:
cv2.medianBlur(source, 3)
然后尝试完成Otsu阈值设置。这可能最终不是解决方案,但是它使文本检测算法更容易在图像上工作
答案 1 :(得分:0)
由于图像在不同区域具有不同的照明条件,因此您可以尝试使用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)