EasyPR安装编译出错

版权声明:本文为博主原创文章,未经博主允许不得转载。 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。

猜你喜欢

转载自blog.csdn.net/u010122972/article/details/77449069