基于百度AI实现 车牌识别

AI系列网址:AI 系列 总目录


我的博客地址:http://www.cnblogs.com/linbin524/p/8036158.html

前言

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

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

实验效果

先来看一下识别效果:

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

基于百度AI实现 车牌识别_第1张图片

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

基于百度AI实现 车牌识别_第2张图片

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

基于百度AI实现 车牌识别_第3张图片

实际拓展思路

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

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

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

///

/// 车牌识别 返回实体结果

///

///

///

public static APIBaseModel GetPlateLicense(Image tempImage)

{

APIBaseModel tempModel = new APIBaseModel();

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(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(result);

}

return tempModel;

}

源码地址:https://github.com/linbin524/AI_Project

你可能感兴趣的:(基于百度AI实现 车牌识别)