这篇文章主要介绍如何在Windows平台几种主要的搭建使用OpenCV的方法。
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。OpenCV用C++语言编写,主要接口也是C++语言,但同时也提供了少量C语言和大量Python, Java 和 MATLAB/OCTAVE (版本2.5)的接口。
一. Opencv 3.45+Visual Studio 2017环境搭建
我喜欢也熟悉C/C++开发,因此这种方法是我最喜欢的方式。Visual Studio 2017功能十分强大丰富,号称宇宙第一IDE,支持最新VC15版本。
-
版本选择
下图展示了部分Visual Studio IDE支持的OpenCV版本。推荐使用VS2017和最新的OpenCV 3.45。可以在Visual Studio官网下载免费社区版,OpenCV library 网站下载各版本OpenCV。
-
下载并安装
①OpenCV library 网站下载windows版本
②. 自定义存放路径,点击Extract安装即可。
-
配置系统环境变量
①. 本地Contana搜索“编辑系统环境变量”;或者 控制面板->系统->高级系统设置->高级->环境变量
②.在Path里添加OpenCV安装路径。
-
Visual Studio 2017编译环境配置
①. 新建空白文档,并设置64位编译环境
记得选择X64编译环境。如图所示,OpenCV 3只支持64位。
② 项目属性->VC++目录->包含目录 添加OpenCV安装文件夹下的include文件夹。如下图所示
③. 库目录下添加.lib文件
④. 链接器->输入->附加依赖项->手动写入opencv_world345d.lib
备注:其他版本可在OpenCV345\opencv\build\x64\vc15\lib 目录下查看对应的依赖项命名
-
第一个程序
输出hello world 并打印当前目录下的lena图像。
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
//输出hello world
cout << "hello world";
//新建Mat类型变量,读取图像
Mat image = imread("lena.jpg", 1);
//在名为hello world的显示框里显示lena图像
imshow("hello world", image);
waitKey(0);
return 0;
}
至此,Visual Studio 2017平台已经成功搭建OpenCV编译环境。
二. Anaconda+OpenCV+Python
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。通过anaconda可以在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。这种方法无论是Windows, macOS或Linux都可以使用,后期想搭建tensorflow等机器学习框架都很方便。如果你也熟悉Python语言的话,这种方法是首选。
-
安装Anaconda
官网下载最新版,下载速度太慢的话可以在清华镜像找到跟自己系统相对应的版本下载即可。
我这里选择最新的64位版本
下载完后傻瓜式安装就可以了。唯一一个需要注意的就是下图显示的这两个选项。
第一个是将anaconda添加到系统环境变量里去,第二个是将Python3.7设置为默认使用的Python版本。如果是第一次安装Python,这两个都勾选上就行了。如果有安装过其他版本的Python,为了避免不必要的冲突,可以都不勾选。 -
新建并搭建环境配置
第一次打开该需要比较多的时间,耐心等待一会。
①.进入应用页面后,选择Environments->Create 新建一个环境配置,命名后选择Python语言,选择3.6版本。
②.点击进入刚刚新建的环境配置,选择All,搜索opencv,搜索出三个文件,全部勾选并点击apply进行下载安装。
③.下载安装Jupyter -
第一个程序
①.打开Jupyter,找到并点击进入Desktop,在桌面新建并重命名一个文件夹,以后的代码文件都保存在这个文件夹里。
②.在该文件夹里新建一个python3文件,编辑代码输入hello world并输出同个文件夹下的lena图像。
import cv2
print("hello world")
img = cv2.imread("lena.jpg",1)
cv2.imshow("hello world",img)
cv2.waitKey(0)
编辑后保存,运行。
三. Visual Studio Code+OpenCV+Python
Visual Studio Code是一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。通过拓展安装插件,可以支持大部分编程语言。这里我只介绍通过Python语言来进行OpenCV代码编写。如果想用C/C++语言的话,那Visual Studio2017是更好的选择。
- 下载安装Visual Studio Code
官网下载Visual Studio Code,傻瓜式安装。 - 安装Python编程环境及下载OpenCV函数库
①.安装Python
下载系统对应版本。可以下载可执行文件,如下图。然后傻瓜式安装。注意这里第二个勾选可以直接将Python添加到系统环境变量。
②.下载OpenCV函数库
可以通过pip下载
终端输入 pip install opencv-python==3.4.5.20
通过pip下载速度可能很慢,可以手动复制cv2文件夹。
将OpenCV目录下Python文件夹内的cv2文件夹复制到python安装路径Python\Python36\Lib\site-packages下。 - 在VSCode里配置Python
①.打开VSCode,按照下图所示顺序安装Python插件。
②.配置默认python路径
首选项->设置->输入python安装路径
③.建立项目文件
④.配置项目文件
Ctrl+Shift+P输入Select Interpreter选择python要使用的python版本
然后添加launch.json文件
- 第一个程序
新建程序
输入代码后按F5开始调试
import cv2
print("hello world")
img = cv2.imread("lena.jpg", 1)
cv2.imshow("image", img)
cv2.waitKey(0)
成功显示图片。