解决问题:cv::Exception,位于内存位置 0x000000D2956FE120 处

问题描述:

当我在visual studio中安装完opencv时,运行第一个Demo文件,出现了如下错误:
icrosoft C 异常: cv::Exception,位于内存位置 0x000000D2956FE120 处

执行代码:

int main()
{

    std::string image_path = "C:\\Users\\86187\\Desktop\\cat.jpg";
    Mat img = imread(image_path, IMREAD_COLOR);
    if (img.empty())
    {
        std::cout << "Could not read the image: " << image_path << std::endl;
        return 1;
    }

    imshow("Display window", img);
    int k = waitKey(0);

    if (k == 's')
    {
        imwrite("starry_night.png", img);
    }

    return 0;
}

解决方式:
方法1:

文件路径有问题,”\”要换为”\”
例如:

C:\\Users\\86187\\Desktop\\cat.jpg

方法2:

有可能因为工程的配置为Debug模式,但在配置”链接器->附加依赖项”时,把.lib库一起加入其中,并且将.lib库加在了 d.lib库之前,这样就导致了优先使用.lib。解决办法是把附加依赖项中open的*.lib全删了。

注意:一般在配置工程时,Debug工程的”链接器->附加依赖项”一般只加 d.lib库;而Release工程的”链接器->附加依赖项”一般只加.lib库,这样就可以避免以上问题。

方法3:

有时候图片的显示格式会超过我们Opencv所能显示的格式大小,导致opencv的imread显示不了。

我当时的问题解决方案就是方法3。神奇吧!我也没想到。

希望对你有所帮助。

Original: https://blog.csdn.net/qq_51899357/article/details/123328225
Author: 好饿呀~~~
Title: 解决问题:cv::Exception,位于内存位置 0x000000D2956FE120 处

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/702391/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球