版本Visual studio2015
错误:OpenCV Error: Assertion Failed (size.width>0 && size.height>0)
在测试opencv程式时,出现了以上这个错误,模式为Debug x86,仅仅是在这个模式下报错,在Release x86模式、Debug x64模式和Releasex64模式都正常运行。
首先我之前在visual studio2015已经配置好了x64的opencv,现在是配置x86的,所以发现了这个错误。网上有的说是路径写得不对,不能写相对路径,要写绝对路径,但我写的就是绝对路径,所以我不是这个问题,以下是我的解决方法。
问题解决:
一、在配置附加依赖项时,我把全部.lib都添加进去了,注意,这些lib是有分Debug模式和Release模式的,后面有"d"的是Debug模式,没有"d"的是release模式,我没有管带"d"或者不带"d"的,把全部lib都填进去了,觉得添加得多准没错,有的版本可能是可以的,比如我之前配置的x64 ,我也是把带"d"和不带的都添加进去了,但没这个问题,也不知道为什么x86的会出现这个问题,所以在Debug模式下把没有带"d"的全部删除!
这里有必要简单说一下Debug模式和Release模式,这两种模式是不一样的,总体来说Debug模式在语法编译上要比较严格些,而Release模式会忽略一些错误,所以即使有一点瑕疵并不影响运行,具体的区别可以度娘一下。
二、把Debug模式下附加依赖项带"d"的库删除以后,这个读取图片为空的报错就没了,但又会报两个错。
1、计算机丢失msvcp120d.dll
2、计算机丢失msvcr120d.dll
这个很简单,就是缺少了dll文件,就去百度下载这两个dll,然后把这两个dll放在你配置opencv系统环境的bin文件夹中,我的路径E:\opencv_86\opencv\build\x86\vc12\bin;
配置完以后,再重新启动一下visual studio,运行程式,就没问题了!