c++ - OpenCV 构建正常,调试抛出错误,从 .exe 运行正常

标签 c++ visual-studio-2010 opencv

使用 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;
}

最佳答案

main 之前是否遇到未处理的异常?

如果不是,那么您的代码会以某种方式引发异常。在第一行放置一个断点,然后按 F5,然后在断点处一次单步执行代码以查看是哪一行导致异常,按 F10 键执行此操作。

我的直觉是,当从调试器运行时,cv::imread 失败,因为它没有从预期位置找到 img1.jpg,当前工作目录是解决方案文件,而不是调试输出构建目录。您可以快速测试并将 img1.jpg 复制到包含 sln 文件的目录,看看是否能解决问题。

关于c++ - OpenCV 构建正常,调试抛出错误,从 .exe 运行正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551381/

相关文章:

visual-studio-2010 - VS2010 或 .NET 4.0 是否有任何新的辅助工具支持?

c# - 使用 Visual C# 2010 Express 在 C# 项目中添加引用 'SHDocVw'

visual-studio-2010 - 如何在 Visual Studio 的多项目解决方案中将平台更正为 AnyCPU?

c++ - 访问 Ximea 相机并使用 OpenCV 设置预定义分辨率显示令人困惑的输出,这是由于相机默认分辨率大小的 Mat

c++ - 如何监控windows server 2003/2008用户登录?

c++ - 如何使用 std::ifstream 读取使用 QDataStream 编写的二进制文件

c# - C++ 中是否有 BinaryReader 来读取从 C# 中的 BinaryWriter 写入的数据?

c++ - 如何为Wireshark转储IP数据包缓冲区/如何在C++中进行十六进制转储?

c++ - OpenCV 错误 : Assertion Failed in MixChannels(.。)

python - 如何使用OpenCV从图像中提取身份证件感兴趣区域?