OpenCV 未处理的异常错误
Posted
技术标签:
【中文标题】OpenCV 未处理的异常错误【英文标题】:Unhandled exception error with OpenCV 【发布时间】:2016-11-21 23:38:07 【问题描述】:我正在尝试运行一个使用 OpenCV 库的程序。该程序已成功编译,但当我尝试运行它时,出现以下错误:
ConvNetUtil.exe 中 0x00007FFA62F6A74A (igdrcl64.dll) 处未处理的异常:0xC0000005:访问冲突读取位置 0x0000000000000994。
我在调试和发布模式下都收到此错误。
我的代码很简单:
Mat nImage;
cv::resize(img, nImage, _sizes[i]);
vector<PyRect> v;
我正在尝试调整在前几行中从磁盘正确读取的 mat 图像的大小。
我使用的是 OpenCV 版本 3。谢谢!
【问题讨论】:
你检查img是否读取成功(img.empy()为假)? _sizes[i] 是否有效(非零)?你的 PyRect 是什么? img 被成功读取,因为行和列是正确的并且 img.empty() 是错误的。 _sizes[i] 是 size(w,h) 的向量,在这种情况下 _size[0] 有 w=450 和 h=431。程序在调整大小行中崩溃。以前的代码可以工作,但现在我重新编译它不是。我没有混合用于调试和发布的 dll 文件,我有用于发布的 opencv_world310.lib 文件和用于调试的 opencv_world310d.lib。任何帮助将不胜感激 igdrcl64.dll 属于 Intel HD Graphic Driver。我不确切知道 ConvNetUtil,但你能重新安装图形驱动程序并重试吗? ConvNetUtil 是我使用 Caffe 深度学习框架制作的一个程序。我已经在 windows 上成功编译了 caffe,并在调试和发布模式下链接了生成的 caffe.lib 和 caffed.lib。我使用的是nvidia gpu,所以我不知道为什么使用intel HD 的dll。我也在 Visual Studio 13 上,我安装了 cuda 7.0 版和 OpenCV 3.1 版。 您可以将这些行分离到另一个简单的应用程序中,看看它是否有效。 【参考方案1】:您可以通过执行以下步骤来解决此错误;
Uninstall Intel Graphics Driver.
Restart
Remove the following files:
On 64-bit version of Windows OS:
C:\Windows\System32\igdbcl64.dll
C:\Windows\System32\igdfcl64.dll
C:\Windows\System32\igdrcl64.dll
C:\Windows\SysWOW64\igdbcl32.dll
C:\Windows\SysWOW64\igdfcl32.dll
C:\Windows\SysWOW64\igdrcl32.dll
On 32-bit version of Windows OS:
C:\Windows\System32\igdbcl32.dll
C:\Windows\System32\igdfcl32.dll
C:\Windows\System32\igdrcl32.dll
【讨论】:
伙计,在经历了数小时的挫败、诅咒和烦恼之后,你在这里只是给我带来了微笑!爱你【参考方案2】:我今天遇到了类似的问题。我通过卸载 Intel 图形驱动程序解决了这个问题,并在未选中 WITH_OPENGL
标志的情况下重建了 OpenCV 库。
My CMake setting
【讨论】:
以上是关于OpenCV 未处理的异常错误的主要内容,如果未能解决你的问题,请参考以下文章