图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境

 

目录

一· 介绍OpenCV库

二· 下载并编译OpenCV3.4.15的源码以及扩展工具包OpenCV_contrib3.4.15(这是为用C++学OpenCV做准备,要是你只想学OpenCV-python的话就可以跳过这一章,没错,直接去我标题里带OpenCV-Python的里面看就完事了)

第一步:进入release页面下载源码(当然你也可以直接下载exe,不过我觉得还是从源头开始学最好,别下啊,我就说说)-----》release

第二步: 下载扩展工具包OpenCV_contrib3.4.15

第三步:编译源码(没错,编译它,听着就很刺激)

1.首先我们下载编译工具CMake

 2. 接着下载vs2017(这个自己去下,应该都会吧,都会吧,都会吧)

 3. 接着开始编译源码

 第四步:利用VS2017生成dll和lib

三·总结


不得不说CV工程师现在很火啊,所以会有很多同学会跻身这个行业,导致这行业相当内卷。

python的出现使得入门图像识别显得很容易,所以我趁着还在试用期,摸鱼给大家介绍我学习

OpenCV的过程,就当出一期入门教程了(虽然自己也才学两个月不到,狗头保命),下面就开始

我们的图像之旅吧(放心,C++和python我都会讲)。

一· 介绍OpenCV库

这里先附上官方链接-----》OpenCV英文官方文档

看不懂的小伙伴可以去中文官方文档-----》OpenCV中文官方文档

那么我们现在看看官方的介绍:

OpenCV (Open Source Computer Vision Library: http://opencv.org) is an open-source BSD-licensed library that includes several hundreds of computer vision algorithms. The document describes the so-called OpenCV 2.x API, which is essentially a C++ API, as opposed to the C-based OpenCV 1.x API (C API is deprecated and not tested with "C" compiler since OpenCV 2.4 releases)

OpenCV has a modular structure, which means that the package includes several shared or static libraries. The following modules are available:

  • Core functionality (core) - a compact module defining basic data structures, including the dense multi-dimensional array Mat and basic functions used by all other modules.
  • Image Processing (imgproc) - an image processing module that includes linear and non-linear image filtering, geometrical image transformations (resize, affine and perspective warping, generic table-based remapping), color space conversion, histograms, and so on.
  • Video Analysis (video) - a video analysis module that includes motion estimation, background subtraction, and object tracking algorithms.
  • Camera Calibration and 3D Reconstruction (calib3d) - basic multiple-view geometry algorithms, single and stereo camera calibration, object pose estimation, stereo correspondence algorithms, and elements of 3D reconstruction.
  • 2D Features Framework (features2d) - salient feature detectors, descriptors, and descriptor matchers.
  • Object Detection (objdetect) - detection of objects and instances of the predefined classes (for example, faces, eyes, mugs, people, cars, and so on).
  • High-level GUI (highgui) - an easy-to-use interface to simple UI capabilities.
  • Video I/O (videoio) - an easy-to-use interface to video capturing and video codecs.
  • ... some other helper modules, such as FLANN and Google test wrappers, Python bindings, and others.

The further chapters of the document describe functionality of each module. But first, make sure to get familiar with the common API concepts used thoroughly in the library.

大致意思是说这个库是一个开源的bsd许可库(这就很妙,可以随便看源码),包括数百种计算机视觉算法。我们要做的只是组合这些算法来达到我们需要的效果,就像PS图片,只不过我们用代码实现,可能你学完可以做个PS也不一定,然后走向人生巅峰,好像扯远了。

那么它主要由上面那些动态和静态库组成,一般的话我们主要用它的core模块足以,毕竟只是入个门,那么介绍就到这,其他的大家可以去官方文档看。

二· 下载并编译OpenCV3.4.15的源码以及扩展工具包OpenCV_contrib3.4.15(这是为用C++学OpenCV做准备,要是你只想学OpenCV-python的话就可以跳过这一章,没错,直接去我标题里带OpenCV-Python的里面看就完事了)

那么这时候由同学肯定问了,你为啥用这个版本,明明最新的是4.x,那么我说最新的有些算法申请专利了,俺们用不了,所以用我这个,听话。

第一步:进入release页面下载源码(当然你也可以直接下载exe,不过我觉得还是从源头开始学最好,别下啊,我就说说)-----》release

找到下图的版本,然后点击Sources或者GitHub(根据你自己的网速选择,因为都是外网,所以有时候打不开,后面我会上传源码到CSDN,下载不了的可以直接去CSDN里下(提示,白嫖可以加我微信15857521811,然后我发你)

图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第1张图片 

那么如果你点了Sources,浏览器就会直接开始下载源码

如果是GitHub,你就点这个绿绿的Code,然后点Download ZIP就能下载了

图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第2张图片

第二步: 下载扩展工具包OpenCV_contrib3.4.15

扩展工具包

点击Source code(zip)下载 

图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第3张图片

第三步:编译源码(没错,编译它,听着就很刺激)

第一步下载完后的源码解压后就像下面这样(大小差不多88MB)

图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第4张图片

 

 下载完的扩展工具包解压后就像下面这样(大小差不多87MB)

图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第5张图片

 下面开始编译,我会分别编译两个版本的,一个64位,一个32位

1.首先我们下载编译工具CMake

cmake工具

找到这个(当然要根据自己的电脑位数下载),然后下载

 下载完后点击安装就行,安装记得选好位置,你自己喜欢放哪就放哪

 2. 接着下载vs2017(这个自己去下,应该都会吧,都会吧,都会吧)

 3. 接着开始编译源码

        (1)创建一个文件夹,名字自己区,然后在文件夹里创建两个文件夹,一个叫build_32,一个叫build_64,用来存放编译后的源码

        图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第6张图片

        (2)打开cmake

                      ​​​​​​​      第一个框选择源码的路径

                            第二个框选择刚创建的文件夹build_32(我们先编译32位)

                             选完如下图所示

            ​​​​​​​                图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第7张图片

        (3)点击左下角的configure

                        第一个选择2017

                        第二个选择Win32

                        选完如下图所示,点击finish

                图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第8张图片

        (4) 它会自动开始编译,编译完如下图

                图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第9张图片

        (5)接着很重要,我们首先勾选红色部分的Build_opencv_world

                图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第10张图片

                然后找到OPENCV_EXTRA_MODULES_PATH选择杠下载的contribute

                        图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第11张图片

        (6)接着继续再次点击Configure,如果还出现红色就再点一次Configure,完成后如下图所示

                图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第12张图片

        (7)点击Generate,完成编译,编译完成后的文件夹如下,至此源码编译完成

        图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第13张图片

 第四步:利用VS2017生成dll和lib

        (1)打开OpenCV.sln,如图所示

        图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第14张图片

        (2)点击生成,选择批生成

               

         找到INSTALL 然后把它勾上,点击生成

图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第15张图片

        (3)不出意外的话他会耗时20分钟左右,看你cpu性能了,然后生成完成后会在build_32文件夹下生成一个install文件夹,我们要用的dll和lib都在那里了,如下图所示,当然会由三个报错,不用管他,好像是我装了python的原因,所以你们最好是没装python前去编译源码(这算是一个坑)。build_64也是同样的步骤去编译,自己去编译一下吧。

        图像识别之从零开始学习OpenCV库-----》介绍以及搭建开发环境_第16张图片

 

三·总结

      到这里都成功的同学,那么我们就可以开心的完OpenCV库了,下一篇就正式开始学习图像识别,资源我会在后续上传,不要急啊。

        

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(OpenCV,python,c++,visual,studio)