报错内容
报错内容如下:
0x00007FFF7CF44F99 处(位于 Program2.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x000000DB82AFE770 处。
报错过程
我的代码:
#include <iostream>
#include <opencv2/opencv.hpp>
int main(int argc, const char** argv)
{
cv::Mat img = cv::imread("D:\\pic.jpg");
cv::imshow("原画", img);
cv::waitKey(0);
return 0;
}
是在imshow这一部分出错的。我就想是不是因为img为空,于是修改代码如下:
#include <iostream>
#include <opencv2/opencv.hpp>
int main(int argc, const char** argv)
{
cv::Mat img = cv::imread("D:\\pic.jpg");
if (myImg.empty()) {
std::cout << "读取失败!" << std::endl;
}
else
{
cv::imshow("原画", myImg);
}
cv::waitKey(0);
return 0;
}
运行后发现输出了“读取失败”,这说明是imread读取就没成功。
修改方法
修改的方法如下:
右键红圈处的Program2,打开属性页
打开链接器下的输入部分,编辑附加依赖项
一般在配置工程时,Debug工程的“链接器->附加依赖项”一般只加*d.lib库;而Release工程的“链接器->附加依赖项”一般只加*.lib库,这样就可以避免以上问题。
在这里我用的是Debug,所以就把不带d的删掉了。
应用后稍等一会儿(感觉VS反应莫名有点慢。。可能只是在我电脑上这样)重新运行。