注:主要讲搭建,非安装。
前提:安装好VS2013,win10系统,opencv官网下载相应版本(我下载的是opencv2.4.11)。
附:
1.解压下载好的opencv,将其放入设定文件夹中(本人加压到D:\Aopencv\)
2.环境变量配置:
右键“我的电脑”-打开“属性”-“高级系统设置”-“环境变量”-“系统变量”:
双击path,进入编辑环境:
(注:本人电脑64位,但有的文章说32位环境路径X86也需添加上(我加上了),VS中调试需要:https://jingyan.baidu.com/article/64d05a0245aa70de55f73b12.html)
3.VS中部署
打开VS2013,新建win32控制台空项目(勾选空项目); 打开视图->其他窗口->属性管理器
属性管理器:
右键属性管理器中的项目名称,选择属性,可见下图,在VC++目录中打开包含目录和库目录,添加相应路径:
将下图选中的目录放进上面的框图中,这些文件在解压过的opencv相应路径中:
(因为我部署过了,因此继承值下面已经有显示)
继续部署库目录,和上述方法一致:
添加链接器:
编辑依赖项:
opencv2.4.11文本:
(ps:opencv3.0及其以后debug和release模式浓缩成两个文件了,不需要再下面这么多)
倒数第五个字母为d的是debug模式,不带d的是release模式,都添加进去,以供以后的编程需要:
opencv_calib3d2411d.lib
opencv_contrib2411d.lib
opencv_core2411d.lib
opencv_features2d2411d.lib
opencv_flann2411d.lib
opencv_gpu2411d.lib
opencv_highgui2411d.lib
opencv_imgproc2411d.lib
opencv_legacy2411d.lib
opencv_ml2411d.lib
opencv_nonfree2411d.lib
opencv_objdetect2411d.lib
opencv_ocl2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_superres2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_videostab2411d.lib
opencv_calib3d2411.lib
opencv_contrib2411.lib
opencv_core2411.lib
opencv_features2d2411.lib
opencv_flann2411.lib
opencv_gpu2411.lib
opencv_highgui2411.lib
opencv_imgproc2411.lib
opencv_legacy2411.lib
opencv_ml2411.lib
opencv_nonfree2411.lib
opencv_objdetect2411.lib
opencv_ocl2411.lib
opencv_photo2411.lib
opencv_stitching2411.lib
opencv_superres2411.lib
opencv_ts2411.lib
opencv_video2411.lib
opencv_videostab2411.lib
4.验证:
源文件下新建cpp,并打开,写入测试程序:
#include <fstream>
#include <string>
#include <iostream>
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
char buffer[50];
char buffer1[50];
//图片格式为1.jpg,2.jpg....
for (int i = 1; i<201; i++) {
sprintf_s(buffer, "C:\\Users\\Admin\\Desktop\\16.bmp", i);
//从指定路径buffer中读取图片
Mat img = imread(buffer);
//cout << img.channels() << endl;
//拼接RGB图存储路径
sprintf_s(buffer1, "C:\\Users\\Admin\\Desktop\\26.bmp", i);
//Mat rgbImg(img.size(),CV_8UC3);
//cvtColor(img, rgbImg, COLOR_GRAY2BGR);
//保存灰度图像到指定路径
imwrite(buffer1, img);
}
// cvWaitKey();
return 0;
}
调试运行,生成对应路径储存的图片。
一个警告:
这个问题无关紧要, 详细内容参考:https://ask.csdn.net/questions/749661
日行一善,日写一撰。