通常我们为了简单起见,是把所有的库(.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和.dll才行