百度文字识别+自动投票

版权声明:本文为博主原创文章,需要转载尽管转载。 https://blog.csdn.net/z5976749/article/details/84068895

下了一个自动投票软件,如果有验证码则不起作用,所有写了个程序自动抓取验证码+识别验证码(只支持中文)。

我试了下英文误识别概率很大。

抓取验证码部分:

   private static Bitmap GetScreenCapture()
        {    
            //图片大小
            Rectangle tScreenRect = new Rectangle(0, 0, 680, 70);
            Bitmap tSrcBmp = new Bitmap(680, 70); // 用于屏幕原始图片保存
            Graphics gp = Graphics.FromImage(tSrcBmp);
            //1200代表屏幕x 882代表屏幕y  从这个位置计算对象size的大小把内容保存
            gp.CopyFromScreen(1200, 822, 0, 0, tScreenRect.Size);
            gp.DrawImage(tSrcBmp, 0, 0, tScreenRect, GraphicsUnit.Pixel);
            return tSrcBmp;
        }

百度验证文字部分:

NuGet搜索Baidu.Api安装

代码中定义

var APP_ID = "你的 App ID";
var API_KEY = "你的 Api Key";
var SECRET_KEY = "你的 Secret Key";

var client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY);
client.Timeout = 60000;  // 修改超时时间

基础比对方法:

        public void GeneralBasicDemo()
        {
            var image = File.ReadAllBytes(@"f:\\fur.jpg");
            // 调用通用文字识别, 图片参数为本地图片,可能会抛出网络等异常,请使用try/catch捕获
            var result = client.GeneralBasic(image);
            Console.WriteLine(result);
            // 如果有可选参数
            var options = new Dictionary<string, object>{
            {"language_type", "ENG"},
            {"detect_direction", "true"},
            {"detect_language", "true"},
            {"probability", "true"}
            };
            // 带参数调用通用文字识别, 图片参数为本地图片
            result = client.GeneralBasic(image, options);
            Console.WriteLine(result);
        }

猜你喜欢

转载自blog.csdn.net/z5976749/article/details/84068895