一、方式1:使用OCR.dll
参考了一下精易论坛的这个易语言版的例程:https://bbs.125.la/forum.php?mod=viewthread&tid=14273813
效果图:
工具类代码:
public class OCR
{
[DllImport("ocr.dll", EntryPoint = "init")]
public static extern int Init();
[DllImport("ocr.dll", EntryPoint = "ocr")]
public extern static string ocr(byte[] img, int imgLength);
}
}
将ocr.dll
放在项目工程的bin\Debug
目录下即可。
Winform程序中使用:
// 1.OCR初始化,全局初始化一次即可,建议放在Program.cs的Main方法中
OCR.Init();
// 2.请求验证码图片
byte[] tmp = "https://passport2.chaoxing.com/num/code"
.WithHeader("User-Agent", Constant.USER_AGENT)
.WithCookies(out cookies)
.GetBytesAsync().Result;
// 3.调用DLL进行识别
code = OCR.ocr(tmp, tmp.Length);
分流下载链接:
二、方式2:使用DDDDOCR
之前写过一篇python调用这个库的文章:记录一次调用OCR验证码识别库的过程,识别率不是很高,最终没有采用
今天看到网络上有大神打成了DLL包:ddddocr 单dll版本,记录一下使用,算是多一种验证码的解决方案。
效果图:
工具类代码:
public class OCR
{
[DllImport("ddocr_qs.dll", EntryPoint = "InitModel")]
public static extern int Init(int threadnum);
[DllImport("ddocr_qs.dll", EntryPoint = "Identify")]
public extern static string ocr(byte[] img, int length);
[DllImport("ddocr_qs.dll", EntryPoint = "FreeModel")]
public extern static void FreeModel();
}
}
将ddocr_qs.dll
放在项目工程的bin\Debug
目录下即可。
Winform程序中使用:
// 1.OCR初始化,全局初始化一次即可,建议放在Program.cs的Main方法中
// 这里的参数是Thread Number
OCR.Init(1);
// 2.请求验证码图片
byte[] tmp = "https://passport2.chaoxing.com/num/code"
.WithHeader("User-Agent", Constant.USER_AGENT)
.WithCookies(out cookies)
.GetBytesAsync().Result;
// 3.调用DLL进行识别
code = OCR.ocr(tmp, tmp.Length);
三、附:查看DLL中的可用函数
本小白第一次在csharp中调用DLL中的函数,刚拿到OCR.dll
后不知道怎么写调用的代码
于是上网查了一下,有推荐使用Dependency
和Dependencies
这两个工具,都有下载使用,感觉上还是后者更强
打开GUI界面后直接将OCR.DLL
拖入,可以看到函数名这样子
但是参数和类型是看不到的 = =,似乎只能问开发者中获取
引用
1.C#调用论坛发布过的一个OCR.dll崩溃(易语言调用没问题):https://bbs.125.la/forum.php?mod=viewthread&tid=14451756&highlight=ocr.dll
2.几百种网站的本地验证码识别源码(字母和数字通杀):https://bbs.125.la/forum.php?mod=viewthread&tid=14273813
3.ddddocr 单dll版本https://bbs.125.la/forum.php?mod=viewthread&tid=14732838
4.好工具推荐系列:VC++开发必备神器 -- Dependencies,查看依赖库DLL,支持win10,比depends更好用:https://blog.csdn.net/libaineu2004/article/details/89670726
5.Dependency Walker 2.2:http://www.dependencywalker.com/
6.Dependencies GITHUB : https://github.com/lucasg/Dependencies
评论 (0)