OpenCV 读取问题
Posted
技术标签:
【中文标题】OpenCV 读取问题【英文标题】:OpenCV imread issue 【发布时间】:2013-12-06 01:00:53 【问题描述】:我正在使用 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 上遇到了同样的问题,我尝试以不同的方式更改路径。
【问题讨论】:
哪个函数给你例外,是imread(…)
?可能是错误出在其他功能中吗?您是否尝试将"C:/lena.jpg"
作为imread
的路径?
错误在 imread 中,因为我用 IpL 方式替换了它,正如我提到的,它运行良好......是的,我尝试使用 C:/lena.jpg
,但没有工作:-\跨度>
【参考方案1】:
这是因为您的转义序列。看下面的路径:
C:\\Users\\name\\Pictures\\Dell WebCam Central\\img.jpg
这将正常编译
C://Users//name//Pictures//Dell WebCam Central//img.jpg
但是,如果转义序列不正确,正如您所使用的,那么断言将失败。
更多信息请参见escape sequences。
【讨论】:
以上是关于OpenCV 读取问题的主要内容,如果未能解决你的问题,请参考以下文章