无法在 C++ MSVS22 中使用 cv::imread 打开图像或视频

问题描述 投票:0回答:0

当我尝试使用 cv::imread(path) 打开图像时,我不断收到“访问冲突”的异常。图像存在于文件夹中。我用其他图像、其他文件夹尝试过,将它放在 C:/ 的根目录中,尝试将 '/' 更改为 ''、'//' 等。 尝试了不同版本的 OpenCV(4.5.5、4.6.0、4.7.0)。

代码如下: `

#include "opencv2/opencv.hpp"


using namespace cv;
void main()
{
    std::string path = "test.jpg";
    cv::Mat img = imread(path);
    cv::namedWindow("Image");
    cv::imshow("Image", img);
    cv::waitKey(0);
}

`

我也在使用 Windows 11,所以也许有一些我不知道的新访问功能。可能是什么?

附注IDE是visual studio 2022,我把“..\include”放在属性-> VC++->包括目录中; “build\x64 c15\lib”到属性 -> VC++ -> 库; opencvXXXd.lib 和 opencvXXX.lib 的名称到属性 -> 链接器 -> 附加依赖项(项目名称可能不同,因为我的 VS 不是英文的)

我尝试了不同的位置、更改名称、其他图像、.png 和 .jpg,尝试使用 cv::VideoCapture 处理视频(mp4、m4v)——同样的问题。安装了不同版本的 OpenCV。

c++ opencv exception access-violation
© www.soinside.com 2019 - 2024. All rights reserved.