中国知网(CNKI)验证码识别

硬质合金车刀中国知⽹(CNKI)验证码识别
led调光电源
)是最重要的中⽂学术资源数据库,收录绝⼤多数中⽂学术刊物。我们可以检索论⽂,也可以导出检索结果前6000条论⽂的题录数据。
在CNKI检索结果翻页10次以上,⽤户需要⼿动输⼊验证码才能继续。为了实现⾃动化题录数据导出,我们就需要通过程序识别验证码。最终,基于Eugu.CV实现验证码识别,正确率在70%以上,能保证⾃动化导出过程的连贯。
CNKI验证码识别主要分为四个步骤:
1 去掉灰⾊⼲扰线
2 去掉⼲扰点
网站生成系统
3 ⼆值化
4 基于Tesseract识别
CNKI验证码是长这个样⼦。
⾸先,要去掉验证码图⽚的灰⾊⼲扰线,如图:
投篮训练器
去掉⼲扰线的思路:⼲扰线都是灰⾊,⽽灰⾊的RGB三⾊的值相对来说都⽐较⼤,所以将RGB三⾊值均⼤于150的点的颜⾊设置成⽩⾊。代码如下:
Bitmap bmp = (Bitmap)Image.FromFile(imagePath);
for (int i = 0; i < bmp.Width; i++)
{
for (int j = 0; j < bmp.Height; j++)
{
Color color = bmp.GetPixel(i, j);
int threshold = 150;
if (color.R > threshold && color.G > threshold && color.B > threshold)
{
Color newColor = Color.FromArgb(255, 255, 255);
bmp.SetPixel(i, j, newColor);
}
}
}
然后,去掉⼲扰点,如图:
去掉⼲扰点的思路很简单,遍历每个点,如果它上下左右8个邻居点,有6个以上是⽩⾊的点,就把这个点也设置成⽩⾊。
for (int i = 0; i < bmp.Width; i++)
{
for (int j = 0; j < bmp.Height; j++)
{
var colorList = GetColorList(bmp, i, j);
var count = colorList.Count(x => x.R == 255 && x.G == 255 && x.B == 255);
if (count >= 6)
碳油{
bmp.SetPixel(i, j, Color.FromArgb(255, 255, 255));
}
}
一流多开}
图⽚识别前需要⼆值化,也就是把图⽚变成⿊⽩两⾊,即把所有的点都变成⿊⾊。
Eugu.CV提供了⼆值化的⽅法。
var gray = new Image<Gray, Byte>(bmp);
var image = gray.CopyBlank();
CvInvoke.Threshold(gray, image, 120, 255, ThresholdType.Triangle);
最后,就是⽤Eugu.CV集成的Tesseract-OCR识别⼆值化图⽚。
Tesseract是⾮常强⼤的OCR开源库,Eumu.CV集成了Tesseract 4.0,可以⽤lstm识别模式提供识别效率。
Emgu.CV.OCR.Tesseract ocr = new Emgu.CV.OCR.Tesseract(path, "eng", Emgu.CV.OCR.OcrEngineMode.LstmOnly, whitelist, true);
ocr.PageSegMode = Emgu.CV.OCR.PageSegMode.SingleLine;
var gray = new Image<Gray, Byte>(image);
ocr.SetImage(gray);
if (ocr.Recognize() != 0)
throw new Exception("Failed to recognizer image");
var list = ocr.GetCharacters().Select(x => x.Text);
textBox.Text = string.Join("", list);
如果你对识别结果的精确度不够满意,还可以通过Tesseract⾃⼰训练提⾼识别精度。

本文发布于:2024-09-21 21:48:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/260792.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:识别   验证码   结果   去掉   导出
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议