OpenCV3.0测试
OpenCV好像安装好就包括x86和x64,不用一个一个编译或者下载相对应的版本,debug和release配置的时候路径有点区别,但是 链接器——输入——附加依赖项,里面的文件都是一样名字的opencv_ts300d.lib;opencv_world300d.lib
- 我的工程文件位置:E:\VStestlibrary\test_opencv
- 安装路径:F:\opencv\build
- 属性配置:
测试程序:
#include<cv.h>
#include<highgui.h>
int main(int argc, char** argv[])
{
IplImage*img = cvLoadImage("E:/VStestlibrary/test_opencv/test_opencv/0.jpg");
cvShowImage("Example", img);
cvWaitKey(0);
return 0;
}
结果:
注意:图片路径一定要是“/”而不是“\”,否则图片显示不出来,出现未知符号的错误
opencv_contrib-3.0.0测试(win32)
结果:release成功,debug出错
- 我的工程文件位置:E:\VStestlibrary\test_opencv
- 安装路径:(win32)F:\opencv\opencv_contrib-3.0.0\install
- 属性配置:(debug和release配置在一起)和opencv配置在一起
测试程序
参考:Opencv3.4.1+contrib3.4.1+vs2017配置(主要解决了编译的时候找不到.lib文件的问题)
#include <opencv2/opencv.hpp>
#include <opencv2/xfeatures2d.hpp>
#include <iostream>
using namespace cv;
using namespace cv::xfeatures2d;
using namespace std;
int main(int argc, char** argv) {
Mat src = imread("D:/image2/43.jpg", IMREAD_GRAYSCALE);
if (src.empty()) {
printf("could not load image...\n");
return -1;
}
namedWindow("input image", CV_WINDOW_AUTOSIZE);
imshow("input image", src);
// SURF特征检测
int minHessian = 100;
Ptr<SURF> detector = SURF::create(minHessian);
vector<KeyPoint> keypoints;
detector->detect(src, keypoints, Mat());
// 绘制关键点
Mat keypoint_img;
drawKeypoints(src, keypoints, keypoint_img, Scalar::all(-1), DrawMatchesFlags::DEFAULT);
imshow("KeyPoints Image", keypoint_img);
waitKey(0);
return 0;
}
结果:
opencv_contrib-3.0.0测试(x64)
结果:release成功,debug出错
- 安装路径:F:\opencv\opencv_contrib-3.0.0_64\opencv_contrib-3.0.0_64_build\install
- 测试工程文件:和opencv在一个工程里
- 属性表:和opencv在一个属性表里
测试程序
同上
详见:opencv_contrib-3.0.0(opencv3.0对应的版本)(x64编译配置)+VS2013+cmake
问题
- 【OpenCV报错】由于找不到opencv_world300.dll,无法继续执行代码
这个包有release和debug还有64和32区分,所以可能要单独配置一个配置文件,或者都放在一个里面,不知道可不可以
可以!!!
https://blog.csdn.net/qtbmp/article/details/7273191?reload