本文为原创作品,转载请注明出处

欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/

作者:晨凫追风

关于Opencv的一个bug的解决方法

错误:

Opencv配置完之后运行一切都很正常,也愉快的弄了一些demo,然而突然有一天,我心血来潮想要在release下运行一下自己的代码,于是出现了一个很美的画面:

输出窗口显示错误信息:

0x50AA8B98 (opencv_highgui249d.dll) (template_example.exe 中)处的第一机会异常: 0xC0000005: 读取位置 0xACC6BCCD 时发生访问冲突。

0x50AA8B98 (opencv_highgui249d.dll) (template_example.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0xACC6BCCD 时发生访问冲突。

提示内存错误,算是Opencv的一个bug,在Debug下可以运行,在release下却不能运行报错。

介绍一下来龙去脉:

在对Opencv进行配置的时候,配置链接库的时候会有一堆 .lib的文件,其中Debug文件库名有d结尾,release没有d。

如:opencv_video249d.lib — debug 库。

opencv_video249.lib — release 库。

按照一般的网上配置教程,会出现debug下可以运行,release下不能运行的情况(报错原因是由于字符串读取问题引起的如图像载入不了,内存出现错误,指针错误等情况)。

因为在附加依赖项配置的时候,会优先选择写在前面的那一类lib作为支持的调试方式,一般我们把带d的写在前面,于是就出现了默认在debug下可以载入图像,识别字符串等操作。如果把不带d的写在前面,那就默认release下调试。

解决方法:

在配置的时候就添加一类依赖项,如:就只添加带d的那一类,于是就只支持debug模式下的调试,这时候想要在release下也能调试,就在当前工程的release模式下自己将不带d的依赖项添加进去:【项目】—【属性】—【配置属性】—【链接器】—【输入】—【附加依赖项】,添加即可。

、选择release模式调试

2、选择当前项目属性

3、添加附加依赖项:把不带d的库添加进去,运用就ok了

4、

至此完成。

感觉在配置的时候只添加一类,只添加带d的或者只添加不带d的库,这样在用到另外一种模式的时候再去修改当前工程的属性配置(并不是之前的固有属性)。这样做让人感觉更加清爽,两个全部添加,毕竟系统只默认在前面的那一种库。

如有不足之处欢迎批评指正,原创作品,转载请注明出处!谢谢!后续的学习总结会陆续推出!欢迎广大爱好者交流!

Opencv学习笔记——release和debug两个模式的运行问题的更多相关文章

  1. OpenCV 学习笔记(0)两幅图像标定配准

    参考教程 依赖opencv扩展库,使用sifi匹配 保存配准信息 "./config/calibratedPara.yaml" #include <iostream> ...

  2. 【opencv学习笔记五】一个简单程序:图像读取与显示

    今天我们来学习一个最简单的程序,即从文件读取图像并且创建窗口显示该图像. 目录 [imread]图像读取 [namedWindow]创建window窗口 [imshow]图像显示 [imwrite]图 ...

  3. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

  4. OpenCV 学习笔记 07 目标检测与识别

    目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...

  5. opencv学习笔记(六)直方图比较图片相似度

    opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...

  6. opencv学习笔记(三)基本数据类型

    opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...

  7. opencv学习笔记(二)寻找轮廓

    opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...

  8. opencv学习笔记(一)IplImage, CvMat, Mat 的关系

    opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...

  9. (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...

随机推荐

  1. python自定义mininet拓扑

    python自定义mininet拓扑 前言 闲来无聊,想到很早之前都是用GUI来自定义拓扑,这次用python来自定义一下(以前留下的苦果) 转自Mininet 自定义网络拓扑 过程相对简单 实现过程 ...

  2. sqlserver附加数据库时,无法打开物理文件 "xx.mdf"。操作系统错误 5:"5

    sqlserver在附加数据库时,提示无法打开物理文件 "xx.mdf".操作系统错误 5:"5 此时可能你是用window验证方式登陆数据库的? 如果是这样,断开连接, ...

  3. ElasticSearch 2 (18) - 深入搜索系列之控制相关度

    ElasticSearch 2 (18) - 深入搜索系列之控制相关度 摘要 处理结构化数据(比如:时间.数字.字符串.枚举)的数据库只需要检查一个文档(或行,在关系数据库)是否与查询匹配. 布尔是/ ...

  4. 蜗牛慢慢爬 LeetCode 22. Generate Parentheses [Difficulty: Medium]

    题目 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...

  5. java虚拟机的内存划分

    为了提高运算效率,就对空间进行不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式. 一. 1.jvm的内存划分: 区域名称 作用 寄存器 给cpu使用,和我们开发无关 本地方法栈 jv ...

  6. BZOJ5461 PKUWC2018Minimax(概率期望+线段树合并+动态规划)

    离散化后,容易想到设f[i][j]为i节点权值为j的概率,不妨设j权值在左子树,则有f[i][j]=f[lson][j](pi·f[rson][1~j]+(1-pi)·f[rson][j~m]). 考 ...

  7. HGOI20180822 五校联考卷

    T1 [题目意思]给出下列程序片段,预测程序运行结果 输入文件为T(T<=200)组数据,每组数据有个n(n<=1014) 输出文件为T行,每行一个数据,表示fun(n)的值 simple ...

  8. 127. Word Ladder(M)

    127. Word LadderGiven two words (beginWord and endWord), and a dictionary's word list, find the leng ...

  9. Ubantu里面的Sublime Text3不支持中文的解决办法

    参考的大佬链接:https://github.com/lyfeyaj/sublime-text-imfix 更新然后将系统升级到最新版本,在linux终端输入 sudo apt-get update ...

  10. redis添加systemctl服务

    1.编辑systemctl服务配置文件 vim /lib/systemd/system/redis.service 2.内容如下 [Unit]Description=RedisAfter=networ ...