写在前面
最近项目需要,搞起了车牌检测及识别,进行了理论方法的调研和代码的实践,最终检测识别的效果还是很不错的。下面是相应的一些记录。
车牌检测及识别的理论方法
一、检测的基本方法
1 用边缘检测+轮廓提取+车牌特征进行车牌的检测;
2 用Harr-like特征或者LBP特征+Adaboost来训练模板用于车牌的检测;还有用神经网络训练的;
3 两者结合。
二、识别的基本方法
1 用Tesseract.来进行训练;
2 用车牌上的字符直接训练识别器。
车牌检测的代码实践
自己网上搜到了一个非常不错的车牌自己识别的开源项目:OpenALPR,在其基础上进行的实践。
配置时的一些注意事项:
一、最好用在Ubuntu14.04下进行配置
自己最早是在自己Ubuntu12.04的系统下进行的编译,出现两个错误:一个是有关string赋值为null的;另外一个是头文件少包含的(ocr.h里面进行了添加)。进行修复后,编译完发现效果和作者网上的demo相差很远,看作者的论坛,说肯能是软件版本不一致(想不通版本不一致能差这么远)。于是对系统进行了升级,升到了和作者一致的Ubuntu14.04环境,解决了问题。
二、Windows下配置的时候注意需要修改CMakeList和匹配相应的Opencv版本。
编译安装完成后,就可以阅读源码,修改代码,进行各种应用了。
小注
阅读和修改源码时强烈推荐Sublime Text,各种爽歪歪。