VS2015和opencv4.0的安装与配置


前一段学习图像处理有需要opencv库的地方,遂在codeblocks17.12上配置了下载好的opencv3.4的库,但是运行程序的时候总是提示各种报错,不是库文件未找到,就是函数未声明,索性重新安装了VS2015和opencv4.0,结果正常。下面分享我安装的办法,希望能帮到大家。
注意:VS2015及之后版本可以很好的编译64位程序,而opencv4.0及以后版本也是需要64位操作环境的,opencv4.0又可以采用C++11的库进行编译,所以推荐大家以后学习,都安装这两个版本以及以后的版本,毕竟时代在进步啊。

1.VS2015的下载与安装

1.1 VS2015下载

首先,我们要下载VS2015(社区版Community)的安装包。
VS2015的版本一共有三种:

  • 社区版(Community):免费提供给单个开发人员、
    开放源代码项目、科研、教育以及小型专业团队!大部分程序员(包括初学者)可以无任何经济负担、合法地使用 VS2015 了。
  • 专业版(Professional):售价 1199 美元。
  • 企业版(Enterprise):售价 5599 美元。

社区版安装包这里有一个迅雷链接,下载比较快,推荐用迅雷打开进行下载:
ed2k://|file|cn_visual_studio_community_2015_x86_dvd_6847368.iso|4013920256|EB7F6605EDE67509E218E29173AC6574|/
还有一个是百度网盘的链接,如果需要保存什么的可以进行保存下:
链接:https://pan.baidu.com/s/1wU4aGedW2JBG_2lfoHVxLg
提取码:8omu

1.2 VS2015的安装

  1. 这个安装没什么特别的,就是我们下载的文件是一个镜像文件(.iso 文件),双击打开自动挂载到电脑,然后点击.exe文件进行安装

在这里插入图片描述

  1. 初始化程序,这个过程可能需要几分钟

在这里插入图片描述

  1. 接下来选择安装位置以及安装方式

在这里插入图片描述这里我将 VS2015 安装在 D:\Program Files\ 目录下,你也可以安装在别的目录。
VS2015 除了支持 C/C++ 开发,还支持 C#、F#、VB 等其他语言,我们没必要安装所有的组件,只需要安装与 C/C++ 相关的组件即可,所以这里选择“自定义”。

(如果你的电脑已经存在VS2015,那么他会提示你是否修复或者卸载,当你想卸载程序的时候可以选择打开iso镜像文件运行exe程序进行卸载VS2015。)
在这里插入图片描述

  1. 选择要安装的组件

在这里插入图片描述
我们不需要 VS2015 的全部组件,只需要与 C/C++ 相关的组件,所以这里只选择了“Visual C++”,将其它用不到的组件全部取消勾选了。

点击“下一步”按钮,弹出如下的确认对话框:
在这里插入图片描述
点击“安装”按钮开始安装。

  1. 接下来进入漫长的等待过程,可能需要半个小时左右。

在这里插入图片描述

1.3 设置VS2015

其实也没什么好设置的
启动 VS2015,会提示登录:
在这里插入图片描述
如果你不希望登录,点击“以后再说”。

接下来选择环境配置:
在这里插入图片描述我们将使用 VS2015 进行 C/C++ 程序开发,所以选择“Visual C++”这个选项。至于颜色主题,大家自己看着办。

等待几分钟的准备过程,VS2015 就启动成功了。
在这里插入图片描述到这里,VS2015就算是安装完毕了。
然后我们进入下一项,安装opencv4.0

2.openc4.0的下载与解压

点击:opencv官网下载地址进行下载:
在这里插入图片描述
下载完成是个.exe文件:
在这里插入图片描述

点击解压,解压到你想解压到的位置:
在这里插入图片描述

解压完成,我们就算是安装好了:
在这里插入图片描述

3.opencv的在VS2015中的配置

现在我们把VS2015和opencv4.0都已经下载好了,我们现在需要做的就是对他进行配置,进行配置的时候记住四步,就完全可以把它搞定:

  1. 配置包含路径
  2. 配置库目录
  3. 配置链接器
  4. 配置环境变量

3.1 首先我们需要打开属性管理器

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述这样我们的属性管理器就打开了,然后进行如上1、2、3、4等配置

3.2 配置包含路径

打开包含目录进行编辑
在这里插入图片描述
添加自己路径下的include和opencv2的文件夹路径到里面然后确定
在这里插入图片描述

3.3 配置库目录

在这里插入图片描述添加自己目录下opencv\build\x64\vc14\lib到里面
在这里插入图片描述

3.4 配置链接器

在这里插入图片描述把刚刚配置的库目录下401d.lib名字复制到里面,注意此处是debug版本的lib,然后确定
在这里插入图片描述然后到达了属性页面,点击应用,确定,然后退出
在这里插入图片描述

3.5 配置环境变量

右键我的电脑点击属性
在这里插入图片描述
点击高级系统设置
在这里插入图片描述点击环境变量
在这里插入图片描述下拉找到Path变量,点击编辑
在这里插入图片描述点击新建,把自己x64\vc14下的bin目录路径添加进来,然后确定应用,退出就行了
在这里插入图片描述

4. 测试

我这里测试代码是打印图片的直方图,打印如下:
在这里插入图片描述测试代码:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

const int bins = 256;
Mat src;
const char* winTitle = "input image";
void showHistogram();
int main(int argc, char** argv) {
	src = imread("G:/Desktop/E.jpg");//自己需要打印直方图信息的图片的路径
	if (src.empty()) {
		printf("could not load image...\n");
		return 0;
	}
	namedWindow(winTitle, WINDOW_AUTOSIZE);
	imshow(winTitle, src);
	showHistogram();
	waitKey(0);
	return 0;
}

void showHistogram() {
	// 三通道分离
	vector<Mat> bgr_plane;
	split(src, bgr_plane);
	// 定义参数变量
	const int channels[1] = { 0 };
	const int bins[1] = { 256 };
	float hranges[2] = { 0,255 };
	const float* ranges[1] = { hranges };
	Mat b_hist;
	Mat g_hist;
	Mat r_hist;
	// 计算Blue, Green, Red通道的直方图
	calcHist(&bgr_plane[0], 1, 0, Mat(), b_hist, 1, bins, ranges);
	calcHist(&bgr_plane[1], 1, 0, Mat(), g_hist, 1, bins, ranges);
	calcHist(&bgr_plane[2], 1, 0, Mat(), r_hist, 1, bins, ranges);
	// 显示直方图
	int hist_w = 512;
	int hist_h = 400;
	int bin_w = cvRound((double)hist_w / bins[0]);
	Mat histImage = Mat::zeros(hist_h, hist_w, CV_8UC3);
	// 归一化直方图数据
	normalize(b_hist, b_hist, 0, histImage.rows, NORM_MINMAX, -1, Mat());
	normalize(g_hist, g_hist, 0, histImage.rows, NORM_MINMAX, -1, Mat());
	normalize(r_hist, r_hist, 0, histImage.rows, NORM_MINMAX, -1, Mat());
	// 绘制直方图曲线
	for (int i = 1; i < bins[0]; i++) {
		line(histImage, Point(bin_w*(i - 1), hist_h - cvRound(b_hist.at<float>(i - 1))),
			Point(bin_w*(i), hist_h - cvRound(b_hist.at<float>(i))), Scalar(255, 0, 0), 2, 8, 0);
		line(histImage, Point(bin_w*(i - 1), hist_h - cvRound(g_hist.at<float>(i - 1))),
			Point(bin_w*(i), hist_h - cvRound(g_hist.at<float>(i))), Scalar(0, 255, 0), 2, 8, 0);
		line(histImage, Point(bin_w*(i - 1), hist_h - cvRound(r_hist.at<float>(i - 1))),
			Point(bin_w*(i), hist_h - cvRound(r_hist.at<float>(i))), Scalar(0, 0, 255), 2, 8, 0);
	}
	// 显示直方图
	namedWindow("Histogram Demo", WINDOW_AUTOSIZE);
	imshow("Histogram Demo", histImage);
}

以上,opencv4.0配置VS2015完毕。

发布了48 篇原创文章 · 获赞 5 · 访问量 2391

猜你喜欢

转载自blog.csdn.net/weixin_44718794/article/details/104775010