QT使用EasyPR识别车牌的正确方式
前提条件
- QT5.3.0 with MinGW
- opencv3.0+
opencv配置
MinGW 编译好的 opencv 3.2.0
- 解压opencv文件夹到C盘根目录
- 添加系统环境变量如下两项到Path:
- C:\opencv\build\install\x86\mingw\bin
- C:\opencv\build\install\x86\mingw\lib
- 检查QT5.3.0自带的MinGW是否在环境变量中(没有则添加):
- C:\Qt\Qt5.3.0\5.3\mingw482_32\bin
- C:\Qt\Qt5.3.0\Tools\mingw482_32\bin
- C:\Qt\Qt5.3.0\Tools\mingw482_32\i686-w64-mingw32\bin
- 配置好重启QT!!!
EasyPR配置
创建一个新的QT界面项目,命名不要是easypr,路径不要有中文
easypr精简版 (因为easypr里面有很多东西没用到,所以精简一下只需要2mb不到)
解压压缩包中所有文件到项目根目录
如下所示添加easypr文件到项目
.pro文件配置
.pro中最上面加上以下内容,因为easypr需要c++11标准编译1
2QMAKE_CXXFLAGS+=-std=c++11
CONFIG += c++11.pro文件最下面添加以下内容
1
2
3
4
5
6INCLUDEPATH+=E:\QT\PlateR\include
win32{
INCLUDEPATH+=C:\opencv\build\install\include
LIBS += C:\opencv\build\install\x86\mingw\bin\libopencv_*.dll
}注:
INCLUDEPATH+=E:\QT\PlateR\include
这条按照你的项目路径来配置config.h
在项目里找到include/easypr/下的config.h,打开来看到以下内容,在30行左右
按照我的格式把路径改成你项目的路径,格式千万不能错
运行代码
main.cpp示例
1 |
|
这样就可以运行了,正常的话控制台会输出车牌号码
常见错误
找不到opencv头文件
没有配置opencv环境变量
找不到easypr头文件
.pro文件中的INCLUDEPATH+=E:\QT\PlateR\include
这句路径错了,需要是你的项目路径下的include文件夹!
程序runtime error或crashed
config.h文件中的model路径错了