运行EasyPR出现“_pFirstBlock == pHead”错误的解决方法

首先,介绍一下我的开发环境:

(1)EasyPR,使用最新的版本:https://codeload.github.com/liuruoze/EasyPR/zip/master

(2)VS2013(VS2012对C++ 11的支持不好)

(3)Win7 64位

(4)OpenCV 3.1(之前是3.0,报错后改为3.1)


其次,说明一下环境配置:

在Usage.md文件中有对开发环境的介绍,包括C++包含目录、附加库目录、附加依赖项等。

需要说明的是,一是在config.h头文件中要讲OPENCV的版本宏修改为对应的版本,即

#define CV_VERSION_THREE_ZERO
修改为

#define CV_VERSION_THREE_ONE
二是第三方库目录thirdparty没有被添加进包含目录,要么将其拷贝进include文件夹,要么将thirdparty所在目录包含进来。

扫描二维码关注公众号,回复: 2868792 查看本文章


最后,是对“_pFirstBlock == pHead”错误的分析,网上说是将运行库设置为/MDd,其实在这个环境中,是由于EasyPR使用的OpenCV版本(例如,目前最新EasyPR版本推荐OpenCV3.1.0,并且使用64位编译环境)和开发者的版本不一致导致的,将所有开发环境设置为苛刻的条件:EasyPR最新版 + OpenCV3.1.0(查看Usage.md文件中“安装OpenCV”一节涉及的版本)+ VS2013(详见Usage.md中对VS版本的要求)+ 64位开发环境(OpenCV3.1解压后只有x64环境),然后编译、运行,就不会在demo=>批量测试(推荐)=》general_test 操作的时候出现断言问题了。

猜你喜欢

转载自blog.csdn.net/pigautumn/article/details/77230414