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

  • Post author:
  • Post category:其他


#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




从该图片的属性得到该图片的扩展名。







版权声明:本文为Struggle_For_M原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。