Windows OpenCV3 安装

时间:2024-05-20 16:10:36

Windows OpenCV3 安装

下载

https://opencv.org/releases/ 下载对应opencv版本,点开exe实际是解压,解压到E盘中,会在E盘出现一个opencv的文件夹。

会有build 和source两个文件夹:
首先说这两者的关系,sources放的是opencv中的cpp文件,相当于一个工厂,build放的是opencv中的h、hpp、lib文件,相当于一个工具,opencv的开发者(当然开源后的使用者也可以)通过sources中的源文件,构建出build中的库文件,然后使用者就可以链接这些库,include<头文件>。一般非开源的程序和库是不开放sources的,而opencv作为一个开源库,这些也是使用者可见的。

source里面是各种各样的函数实现,对于只想用opencv的人来说,只关心我怎么用,于是开发者就会使用这些源文件构建出库,这些库里面包含了函数实现。这些库就是各种lib,然后还有头文件。

build里面只有接口,没有cpp中的实现什么的,build是对使用者的,使用者只用知道接口就行了,不需要知道这个是怎么做到的。当然因为opencv开源,所以使用者也可以直接查看源文件。

添加环境变量等配置

系统环境变量Path中,添加E:\opencv\build\x64\vc14\bin (尚不知道作用)

安装vs2015 pro,并配置

直接安装即可,本次安装官网下载,注册了一个Dev Essential, (尚不知作用)。

新建一个win32 console的工程,在View, other windows 选择Property manager, 上方选择Release 和 x64,右边点相应的Release x64,添加Property Sheet,如下图:
Windows OpenCV3 安装
编辑Include 和 library Directoris至如图:
Windows OpenCV3 安装

Windows OpenCV3 安装
发现仍然找不到opencv。

最后发现:是右侧的对应版本选错。保存PropertySheet,然后在Release x64中重新加入 existing
poroperty sheet。便可以运行。

编译安装opencv-contrib

https://github.com/opencv/opencv_contrib/releases下载zip文档,解压,
打开cmake gui选择前两行为,然后出现如下错误:
Windows OpenCV3 安装
点开vs2015安装程序,尝试添加如下:
Windows OpenCV3 安装
仍然出现一下错误:
The CXX compiler identification is unknown The C compiler identification is unknown CMake Error at CMakeLists.txt:135 (project): No CMAKE_CXX_COMPILER could be found.

发现是由于只装了IDE却没有装cpp的编译器所致,重新打开installer添加Windows sdk。可以解决,电机config继续运行,持续运行时发现如下报错:
Performing Test HAVE_CXX11 - Success
Found PythonInterp: C:/Users/henry/AppData/Local/Programs/Python/Python36/python.exe (found suitable version “3.6.5”, minimum required is “2.7”)
CMake Warning at cmake/OpenCVDetectPython.cmake:81 (message):
CMake’s ‘find_host_package(PythonInterp 2.7)’ founds wrong Python version:

PYTHON_EXECUTABLE=C:/Users/henry/AppData/Local/Programs/Python/Python36/python.exe

PYTHON_VERSION_STRING=3.6.5

Consider specify ‘PYTHON2_EXECUTABLE’ variable via CMake command line or
environment variables

Call Stack (most recent call first):
cmake/OpenCVDetectPython.cmake:275 (find_python)
CMakeLists.txt:710 (include)

Consider using CMake 3.12+ for better Python support
Found PythonInterp: C:/Users/henry/AppData/Local/Programs/Python/Python36/python.exe (found suitable version “3.6.5”, minimum required is “3.2”)
Found PythonLibs: C:/Users/henry/AppData/Local/Programs/Python/Python36/libs/python36.lib (found suitable exact version “3.6.5”)
Traceback (most recent call last):
File “”, line 1, in
ModuleNotFoundError: No module named ‘numpy’

无视掉,这时候仍然有许多红的,直接再点一下config,这时候很快,且没有了红框。
在 build opencv world 打勾,在调用dll时,只调用这一个就行了,不用根据功能选择了,省了些麻烦。(未懂什么意思)第一次编译之后,将 Build-opencv-world选上,这个选项会帮助生成opencv_world340d.lib非常有用,可以省去在后边创建工程时包含多个动态链接,只包含这一个即可。
Windows OpenCV3 安装
这里由于没有按generate,于是打算重新在一个文件夹中编译,所以选择了mybuildcontrib这个文件夹,清空其中,重新用cmake gui编译,然后点击generate,然后打开opencv.sln工程。

然后上方点击build, rebuild solution,需要等待一段时间。

出现E盘存储空间不够的问题,出来删除一些东西。 ,重新点击rebuild solution。

然后右键右边的INSTALL,点project only,然后only build install即可。这时候build目标目录下出现下面的文件。

Windows OpenCV3 安装
然后修改环境变量!
重新进入之前的DEMO/test工程,修改include,library, 和link三个选项:
Windows OpenCV3 安装
Windows OpenCV3 安装

cirt + F5运行,出现如下问题:
Windows OpenCV3 安装
原因是install的时候,没有install release版本,打开opencv的vs工程,重新选择release,执行上述步骤,增加两个非debug的linker库。运行成功。

其他问题

如果直接点击上方local windows debugger会发现不行,出现如下的错误,因此要点击cirl + F5即可。
Windows OpenCV3 安装
读取图片始终出现错误,原因是cpp的反斜杠要再加一个反斜杠:\ -> “\\”
Mat originalImage = imread(“C:\Users\henry\Desktop\DSC_5529.JPG”);

在博客上看到说必须新建一个空的工程,暂时没有验证。