您的位置:首页 > 运维架构

opencv中imread这个函数不能正确读入图片的解决

2015-01-13 09:36 766 查看
通常我们为了简单起见,是把所有的库(.lib)包括debug、release两个版本同时加载的。这样的话象下面的代码是可以正常工作的:

[cpp] view
plaincopy





#include <opencv2\opencv.hpp>

#include<iostream>

using namespace cv;

void main()

{

IplImage *src;

src = cvLoadImage("lena.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下

cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);

cvShowImage("lena",src);

cvWaitKey(0);

cvDestroyWindow("lena");

cvReleaseImage(&src);

}

但是imread函数则不行,比如:

[cpp] view
plaincopy





/***********************************************************************

* OpenCV 2.4.3 测试例程

* 于仕琪 提供

***********************************************************************/

#include "stdafx.h"

#include <opencv2/opencv.hpp>

using namespace std;

using namespace cv;

int _tmain(int argc, _TCHAR* argv[])

{

const char* imagename = "lena.jpg";

//从文件中读入图像

Mat img = imread(imagename);

//如果读入图像失败

if(img.empty())

{

fprintf(stderr, "Can not load image %s\n", imagename);

return -1;

}

//显示图像

imshow("image", img);

//此函数等待按键,按键盘任意键就返回

waitKey();

return 0;

}

只能是在两种模式下分别载入相应版本的.lib和.dll才行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: