VC2010和OpenCV2.4.9中imread这个函数不能正确读入图片的解决

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

#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函数则不行,比如:

/***********************************************************************
 * 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才行

你可能感兴趣的:(debug,release,vc2010,imread,OpenCV2.4.9)