基于百度AI实现 车牌识别
总目录地址:AI 系列 总目录
需要最新源码,或技术提问,请加QQ群:538327407
我的各种github 开源项目和代码:https://github.com/linbin524
前言
目前百度的AI接口相对完善,对于文字识别类的操作还需要开发者一一去尝试,去评估这效果到底是怎么的。
文字识别的接口相对简单,官方提供的SDK也集成很好,笔者只是在这上面做了一些前期性的功能数据校验和过滤,以及返回结果的处理。
实验效果
先来看一下识别效果:
1、精细化车牌(识别准确)
2、实际场景车牌 (识别准确)
3、多车牌(只识别到一个车牌)
实际拓展思路
鉴于上述结果,目前百度车牌识别可以做到 实际应用场景的处理,但要真正结合、融合,需要开发者们自己做些前期处理,比如说,你需要在摄像头捕捉车牌时候,自己去动态抓取行驶车牌的车牌,
在使用单个请求将车牌发送给百度,从而实现在真实环境中的车牌识别。
ps:有关相关的技术 可以参考我另外一篇博客,动态视频中的人脸捕捉与人脸识别。 博客地址:http://www.cnblogs.com/linbin524/p/linbin524.html
代码解析:
1、接口方法
/// <summary> /// 车牌识别 返回实体结果 /// </summary> /// <param name="tempImage"></param> /// <returns></returns> public static APIBaseModel<DrivingLicenseModel> GetPlateLicense(Image tempImage) { APIBaseModel<DrivingLicenseModel> tempModel = new APIBaseModel<DrivingLicenseModel>(); tempModel.contextModel = new DrivingLicenseModel(); var client = new Ocr.Ocr(Config.clientId, Config.clientSecret); var image = ImageHelper.ImageToBytes(tempImage, System.Drawing.Imaging.ImageFormat.Png); string result = client.PlateLicense(image).ToString(); if (result.Contains("\"error_code\""))//说明异常 { tempModel.state = false; tempModel.contextModel.errorTypeModel = Json.ToObject<ErrorTypeModel>(result); tempModel.errorMsg = tempModel.contextModel.errorTypeModel.error_discription = OCR_CharacterRecognitionErrorType.GetErrorCodeToDescription(tempModel.contextModel.errorTypeModel.error_code); } else { tempModel.state = true; tempModel.contextModel.successModel = Json.ToObject<DrivingLicenseSuessResultModel>(result); } return tempModel; }
源码地址:github 上的链接
读后感觉不错,有收获可以微信请作者喝杯咖啡,读后有疑问请加微信,拉群研讨,注明来意
笔者原创!如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,转载请添加原博客连接,否则保留追究法律责任的权利,谢谢!
YC.Boilerplate 快速开发框架交流,请加群:1060819005
区块链交流请加QQ群:538327407(已满),群2:135019400.
我的博客地址:http://www.cnblogs.com/linbin524/