Easonay_Y

验证过才会写出来

导航

EasyPR的基本使用

Posted on 2019-08-17 21:14  Easonay_Y  阅读(2010)  评论(0编辑  收藏  举报

 

1、easypr下载运行

第一步可以去下载easypr的zip的包,然后解压,我用的是码云新建项目,从git导入,这样子下载比较快一点 git:https://github.com/liuruoze/EasyPR

# cd EasyPR

进入工程文件 我们可以看到很多的文件,现在应该注意 build.sh 与 cmakelists.txt这两个文件就ok了。

#vim CMakeLists.txt

加入set( OpenCV_DIR "/home/andy/opencv-3.2.0/build") 注意,这里的opencv路径是自己安装时候的路径

如果现在运行 #./build.sh 会编译到一半报错、

对于上面这个问题需要按照提示的错误去找 在github上看到一个答案解决了这个问题 : Opencv3.2版本的支持,编译前仅需要将config.h中将#define CV_VERSION_THREE_ZERO改为#define CV_VERSION_THREE_TWO即可。

 

 

2、在Linux下安装EasyPr遇到的问题:

easypr/src/util/kv.cpp:11: void easypr::Kv::load(const string&): Assertion `reader' failed.

解决方案:

在include/easypn/config.h中将相对地址全部修改为绝对地址

static const char* kDefaultSvmPath = "/home/mxy/qt_code/easypr5/model/svm_hist.xml";

static const char* kLBPSvmPath = "/home/mxy/qt_code/easypr5/model/svm_lbp.xml";

static const char* kHistSvmPath = "/home/mxy/qt_code/easypr5/model/svm_hist.xml";

 

static const char* kDefaultAnnPath = "/home/mxy/qt_code/easypr5/model/ann.xml";

static const char* kChineseAnnPath = "/home/mxy/qt_code/easypr5/model/ann_chinese.xml";

static const char* kGrayAnnPath = "/home/mxy/qt_code/easypr5/model/annCh.xml";

 

//This is important to for key transform to chinese

static const char* kChineseMappingPath = "/home/mxy/qt_code/easypr5/model/province_mapping";

 

若还是不行,则在linux下面的用cmake编译的后来把编译好的demo放进EasyPR文件里面再运行就好了

 

3、测试:

 

./demo recognize -p resources/image/chars_identify.jpg

./demo recognize -p *****

//*****是你要解析的图片(绝对地址,或者能够找到他的地方)

 

4、怎么调用easyPR库

我们利用的是原来EasyPR的demo包的使用方法:./demo recognize -p file;这条指令是对指定的文件直接进行车牌识别,使用的是command_line_handler(argc, argv);函数

故而:

    const char *a_test[4] = {"./demo","recognize","-p","./chars_recognise.jpg"};

command_line_handler(4, a_test);

只需要定义一个const char的数组,然后将数组传进去即可以调用到EasyPR的功能,即实现对指定文件的解析

 

若是遇到: Assertion `!img.empty()' failed.这个错误,

原因及解决方案

请一定好好检查图片读取路径有没有写对!!!

可能错误:

1.图片路径写成了如下形式:C:\Users\Desktop\test\

正确的应该为:C:/Users/Desktop/test/

(在程序中斜杠'\'有转义字符含义)

 

2.图片路径少写了一个斜杠(图片存放在test文件夹中)

错误:C:/Users/Desktop/test

正确:C:/Users/Desktop/test/

(千千万万不要忘了最后一个斜杠,不然读取的就变成了test这个文件夹)

 

3.图片的格式不对!

 

4.图片的数量不一致!

 

5.路径中、文件夹名称都不要包含中文!.(编程中各种命名都尽量使用易懂的英文)