window7+visual Studio2017+opencv3.4.1安装

初探opencv3的c++版本。

以前实验室为了实现某个功能,画个ppt啥的,比如图像腐蚀、膨胀,都是直接调用opencv-python库,直接生成图像,python的强大众所周知,可现在目前产品落地,大多数还是基于c/c++语言(笔者近期找计算机视觉工作,发现绝大多数产业都要求熟练opencv视觉库,且需要能够手写实现算法,基于c/c++,之前写过一些图像算法的简单实现(算法没有优化,且时间复杂度高https://blog.csdn.net/hjxu2016/article/category/7673656),现在正式进入c++的opencv版本,学习里面的数据结构,以及算法实现。

笔者环境window7,visual Stdio2017,opencv3.4.1

第一步、安装visual stdio2017

推荐直接https://jingyan.baidu.com/article/a948d6512f00d70a2dcd2edc.html

打开浏览器进入微软官方网站(https://www.microsoft.com),然后点击顶部导航栏中的”产品->适用于开发人员和IT专业人士->Visual Studio”,打开Visual Studio 2017下载页面;

我选择的是社区版本,community版本,免费的,注册一下登录就行,可以满足日常需求。

注意,下载下来的这个文件不要删除,以后添加功能,卸载都是能用到的。

注意勾选 使用c++桌面开发,因为我有时候还要使用MFC,所有在右面也勾选了MFC。


第二步、下载opencv3.4.1

打开浏览器https://opencv.org/releases.html

我选择的是3.4.1的window版本,下载安装选择目录,其实安装就是解压,注意不需要再创个opencv文件夹了,加压后就是opencv文件夹。

Opencv只是一个计算机视觉库,在VS中使用时,需要对文件进行配置,调用其中的文件 
bin文件: 
opencv_ffmpeg341.dll,放的是ffmpeg,视频编解码软件 
include文件: 
包含.h 等头文件 
x64文件=bin文件(opencv_world341d.dll)+lib文件(opencv_world341.lib) 
vc14对应VS2015,vc15对应VS2017

第三步、配置opencv

(1)配置Path系统环境变量

此电脑–>右键“属性”–>高级系统设置–>环境变量–>系统变量中的path,在变量值里面添加相应的路径; D:\opencv\build\x64\vc15\bin (配置动态链接库,注意自己的路径)

,如果没有完成这一步,在工程运行时会提示找不到“opencv_world341d.dll”文件的错误的

(2)VS2017中配置OpenCV

打开vs2017,新建立一个空的项目,在菜单栏中点击【视图】[属性管理器],这时候右边会出现一个属性管理器工作区来。

工程中右击–>属性 

包含目录 + 库目录 + 链接器(debug里面加了,releas也可以加)

1. 包含目录 配置: 
VC++目录—>包含目录: 
D:\opencv\build\include ; 
D:\opencv\build\include\opencv; 
D:\opencv\build\include\opencv2 
2. 库目录 配置: 
VC++目录—>库目录: 
D:\opencv\build\x64\vc15\lib 
注意:(1)此处的x64表示电脑是64位,32位选择x86 
(2)vc10表示VS是2010,vc11对应VS2012,vc12对应VS2013,vc14对应VS2015 ,vc15对应VS2017 
3. 链接器 配置: 
链接器–>输入–>附加依赖项 
opencv_world341.lib 
opencv_world341d.lib 
备注: 
这里不用被指动态链接库(.dll)

3、第一个简单的程序

在网上找的一个程序,过后要改进成自己的程序


#include "stdafx.h"  //在VS2017中一些头文件都放在"stdafx.h"文件中
#include <iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  

using namespace cv;

int main()
{
    // 读入一张图片(游戏原画)    
    Mat img = imread("heibao.jpg");
    // 创建一个名为 "游戏原画"窗口    
    namedWindow("游戏原画");
    // 在窗口中显示游戏原画    
    imshow("游戏原画", img);
    // 等待6000 ms后窗口自动关闭    
    waitKey(6000);
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

如果出现地址不对劲的问题,注意一下路径中的\需要两个\\,或者直接/

理论上配置完成。

参考博客。

https://blog.csdn.net/weixin_39393712/article/details/79583274

https://www.cnblogs.com/wxl845235800/p/7206767.html

https://jingyan.baidu.com/album/dca1fa6f13bd55f1a44052b9.html?picindex=6

猜你喜欢

转载自blog.csdn.net/hjxu2016/article/details/80849277