版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010122972/article/details/77449069
最近搞个车牌识别,所以把EasyPR搞下来试了试,直接安装失败,所以做个小笔记,以免以后再用又要根据错误提示去自行调错。
下载并解压后,进入EasyPR根目录,终端输入
./build.sh
提示错误
根据错误找到EasrPR-master/include/easypr中的config.h,找到末尾这段代码
// Load model. compatitable withe 3.0, 3.1 and 3.2
#ifdef CV_VERSION_THREE_TWO
#define LOAD_SVM_MODEL(model, path) \
model = ml::SVM::load(path);
#define LOAD_ANN_MODEL(model, path) \
model = ml::ANN_MLP::load(path);
#else
#define LOAD_SVM_MODEL(model, path) \
model = ml::SVM::load<ml::SVM>(path);
#define LOAD_ANN_MODEL(model, path) \
model = ml::ANN_MLP::load<ml::ANN_MLP>(path);
#endif
我的是opencv3.2,应该是执行上面那个if,但是明显是执行了else,因此报错,从而直接把else注释掉,即:
// Load model. compatitable withe 3.0, 3.1 and 3.2
//#ifdef CV_VERSION_THREE_TWO
#define LOAD_SVM_MODEL(model, path) \
model = ml::SVM::load(path);
#define LOAD_ANN_MODEL(model, path) \
model = ml::ANN_MLP::load(path);
//#else
//#define LOAD_SVM_MODEL(model, path) \
//model = ml::SVM::load<ml::SVM>(path);
//#define LOAD_ANN_MODEL(model, path) \
//model = ml::ANN_MLP::load<ml::ANN_MLP>(path);
//#endif
保存后退出,再运行
./build.sh
成功生成
更新更正:
后来发现是没有认真看readme,opencv3.2需要将config.h中的#define CV_VERSION_THREE_ZERO改为#define CV_VERSION_THREE_TWO。