使用Visual Studio 2010,OpenCV 2.2.2,Windows 7 64x
我的代码构建成功然后当它进入调试时我收到以下错误:
First-chance exception at 0x75f0c41f in MachineVisionHW0.exe: Microsoft C++ exception: cv::Exception at memory location 0x002dec90..
Unhandled exception at 0x75f0c41f in MachineVisionHW0.exe: Microsoft C++ exception: cv::Exception at memory location 0x002dec90..
然后我结束调试,转到文件目录并运行构建的可执行文件,它运行正常。有人知道如何解决这个问题吗?它并没有阻止我构建我的代码,但它非常不方便。我将在下面提供一个代码示例。
int main(){
cv::Mat image1 = cv::imread("img1.JPG", CV_LOAD_IMAGE_GRAYSCALE);
cv::namedWindow("Sample1");
cv::imshow("Sample1", image1);
cv::waitKey(0);
return 1;
}
答案 0 :(得分:2)
你在 main之前得到未处理的异常吗?
如果没有,那么你的代码以某种方式做某事来引发异常。在第一行放置一个断点,然后点击F5,然后在断点处一次,一次一行地执行代码,看看哪一个导致异常,F10键执行此操作。
我的直觉是,当从调试器运行时,cv::imread
失败,因为它没有从预期的位置找到img1.jpg,当前的工作目录是解决方案文件的目录,而不是debug output build dir。您可以进行快速测试并将img1.jpg复制到包含sln文件的目录,看看是否能解决问题。