C++ openCV文件打开问题

Posted

技术标签:

【中文标题】C++ openCV文件打开问题【英文标题】:Problems with C++ openCV file opening 【发布时间】:2014-10-18 11:23:47 【问题描述】:

我已经做了很多尝试,但我似乎无法让简单的代码工作。我已正确安装所有库,包含路径正确,我已尝试使用 Visual Studio 2012,现在使用的是 2010。出于某种原因,这可行:

IplImage* img1 = cvLoadImage("C:\\Users\\Mota\\Documents\\Visual Studio 2010\\Projects\\Stabilization\\Stabilization\\Law.jpg"); 

img1 加载正确。

但是,如果我尝试使用 C++:

Mat img = imread("C:\\Users\\Mota\\Documents\\Visual Studio 2010\\Projects\\Stabilization\\Stabilization\\Law.jpg"); 

然后我的应用程序崩溃并显示一条消息“OpenCV 错误:断言失败(大小......) 所以使用相同的路径,我有两个不同的结果。我一直在这个问题上一段时间了,有人知道我能做什么吗?我的 C++ 库有问题吗? 视频或任何需要从文件加载的内容也是如此。

谢谢

【问题讨论】:

imread() 将 std::string 作为参数。请检查,如果您正在链接正确的 opencv 库(调试/发布)。这绝对是链接器问题。 是的,路径是正确的,是一个字符串 "C:\\Users\\Mota\\Documents\\Visual Studio 2010\\Projects\\Stabilization\\Stabilization\\Law.jpg" 我的库如下 opencv_core249.lib opencv_imgproc249.lib opencv_highgui249.lib opencv_ml249.lib opencv_video249.lib opencv_features2d249.lib opencv_calib3d249.lib opencv_objdetect249.lib opencv_contrib249.lib opencv_legacy249.lib opencv_flann249.lib opencv_calib3d249d.lib opencv_contrib249d.lib opencv_core249d.lib opencv_features2d249d.lib opencv_flann249d.lib opencv_gpu249d.lib opencv_highgui249d.lib opencv_imgproc249d.lib opencv_legacy249d.lib opencv_ml249d.lib opencv_nonfree249d.lib opencv_objdetect249d.lib opencv_photo249d.lib opencv_stitching249d.lib opencv_video249d.lib opencv_videostab249d.lib 跨度> 不要混合调试/发布库 【参考方案1】:

您可以尝试使用这样的正斜杠给出路径,

Mat img = imread("//home//Desktop//OpenCV//1.jpg")

【讨论】:

以上是关于C++ openCV文件打开问题的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何使用 OpenCV C++ 打开文件?

Project2.exe中的C++ OpenCV“找不到或打开PDB文件”和“(opencv_world310.dll):访问冲突读取位置

opencv打开视频文件出错

Opencv:无法打开显示:C++、Raspberry Pi 无头连接

Opencv C++为每个imshow打开两个窗口

无法在 android 上使用 C++ OpenCV 打开相机