c++ - OpenCV imread 问题

标签 c++ opencv image-processing

我正在使用 OpenCV 2.4.7 在 VS2012 上编译一个简单的项目。

所以当我这样做的时候:

cv::Mat img = cv::imread("C:\lena.jpg",1);

然后我寻找以下错误的解决方案:

OpenCV Error: Assertion Failed (size.width>0 && size.height>0) in unknown function

所以,我把这个:

IplImage* img1 = cvLoadImage("C:\lena.jpg", 1);
Mat img(img1);

而且效果很好。这只是一种解决方案吗?

PS: 我在 Ubuntu 上遇到了同样的问题,我尝试以不同的方式更改路径。

最佳答案

这是因为您的转义序列。看下面的路径:

C:\\Users\\name\\Pictures\\Dell WebCam Central\\img.jpg

这将正常编译

C://Users//name//Pictures//Dell WebCam Central//img.jpg

但是,如您所用,如果转义顺序不正确,则断言将失败。

参见 escape sequences获取更多信息。

关于c++ - OpenCV imread 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20414026/

相关文章:

c# - 如何将struct中的char *从c#传递到c++

c++ - llvm 和安装时间优化

opencv - 如何在 OpenCV 中使用夜视摄像头输入(帧)?

html - 与 CSS 相比,使用 ImageMagick 调整图像大小有什么好处?

python - NumPy,PIL 添加图像

c - 优化循环遍历像素的代码

c++ - 如果我按值从函数返回一个 STL 容器,GCC 会单独复制所有元素吗?

c++ - FFMpeg 未定义对 get_buffer 的引用

c++ - 在opencv中相应地对blob进行排序

java - OpenCV(java)魔方识别调色