【发布时间】:2020-07-27 10:17:06
【问题描述】:
我正在尝试使用 C# 上的 Tesseract 通过 OCR 来解决验证码问题。我正在用 Selenium 抓取验证码,并应用一些效果来清理图像,但最终得到的结果不够干净,无法正确读取。
我在这里问是否有人可以帮助我编写一个 OpenCV 代码,该代码可以删除线条和点,因为它们具有不同的宽度。谢谢!
图片:https://i.imgur.com/Md5XC6G.png
OpenCv 更改后的图像:https://i.imgur.com/pxcxPfQ.png
var image = Resize(img, 800, 600);
image.Save("captcha.png", System.Drawing.Imaging.ImageFormat.Png);
Mat imageIn = Cv2.ImRead("captcha.png", ImreadModes.Grayscale);
Mat edges = new Mat();
Cv2.Canny(imageIn, edges, 100, 100);
edges.SaveImage("captcha1.png");
无论如何要改进一点? Tesseract 还不能识别它。
【问题讨论】: