cvLoadIamge读取图片失败的几点原因(亲自试验过)VC6+OpenCV1.0

#include "stdafx.h"
#include "iostream.h"
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"

int main(int argc, char* argv[])
{
	IplImage *img=cvLoadImage("G:\\图像\\TorchSkin.JPG");
	if(img!=NULL)
	{
	cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);
	cvShowImage("Example1",img);
	cvWaitKey(0);
	cvReleaseImage(&img);
	cvDestroyWindow("Example1");
	}
	else
	{
		cout<<"读取图片失败"<<endl;
	}
	return 0;
}
以上是正确的代码
首先,cvLoadImage函数的原型IplImage*cvLoadImage(const char*filename,int flags) ;
可能出错的点只有俩个参数,filename不是单纯的文件名,是指该文件的路径,当然在该工程的文件夹下可以直接用文件名(“TorchSkin.jpg”)
读取失败原因之一:G:\图像\TorchSkin.JPG”
所有的\都需要转义字符\\来表示
正确形式:“G:\\图像\\TorchSkin.JPG”
另外也可以用“G:/图像/TorchSkin.jpg”或者“G://图像//TorchSkin.jpg”来表示路径
读取失败原因之二:图片后缀名不对
例如:JPEG是一种广泛适用的压缩图像标准方式,但是JPEG格式图片也有不同的扩展名.jpeg、.jpg、.jpe、.jfif
从该图片的属性得到该图片的扩展名。

你可能感兴趣的:(opencv,cvloadImage)