基于百度AI实现 车牌识别

总目录地址:AI 系列 总目录 html

须要最新源码,或技术提问,请加QQ群:538327407git

个人各类github 开源项目和代码:https://github.com/linbin524github

 

 

前言post

   目前百度的AI接口相对完善,对于文字识别类的操做还须要开发者一一去尝试,去评估这效果究竟是怎么的。spa

文字识别的接口相对简单,官方提供的SDK也集成很好,笔者只是在这上面作了一些前期性的功能数据校验和过滤,以及返回结果的处理。code

 

实验效果orm

先来看一下识别效果:视频

 一、精细化车牌(识别准确)htm

 

二、实际场景车牌 (识别准确)blog

 

 

三、多车牌(只识别到一个车牌)

 

 

 

实际拓展思路

鉴于上述结果,目前百度车牌识别能够作到 实际应用场景的处理,但要真正结合、融合,须要开发者们本身作些前期处理,好比说,你须要在摄像头捕捉车牌时候,本身去动态抓取行驶车牌的车牌,

在使用单个请求将车牌发送给百度,从而实如今真实环境中的车牌识别。

ps:有关相关的技术 能够参考我另一篇博客,动态视频中的人脸捕捉与人脸识别。 博客地址:http://www.cnblogs.com/linbin524/p/linbin524.html

 

代码解析:

一、接口方法

   /// <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 上的连接

相关文章
相关标签/搜索