Visual Studio 2017 以及 OpenCV3.4.1 的安装与初步使用

                                               1.使用Visual Studio和OpenCV的初衷

    虽然Halcon软件可以很简单地处理图像,但由于其商用软件的性质,我们使用的都是和谐版。最近进入6月还被迫更新了一下他的license,需要进入“51Halcon”网站注册并下载。美国特朗普禁止了很多芯片,将来真不知道这个软件会不会被禁止破解使用,因此,貌似还是学会使用开源的OpenCV来学习机器视觉比较好。

    OpenCV,最初我以为它是一个集成好的,如同Matlab一样的软件,但其实,它只是一个“Computer Vision Library”,是一个开源的库,而这个库是需要一个平台才能运行的。

    经过调查才知道,原来这个库可以通过C++语言编程来驱动,因此我决定安装可以调试C++程序的软件。

    过去在本科阶段学习C语言的时候(7年前了吧),了解过Visual C++貌似是一个可以运行C和C++语言的软件(集成开发环境),但貌似这个软件后来被Visual Studio所取代。(是否是升级还是取代,并不是很清楚,但询问过一些用过OpenCV的同学了解到,使用Visual Studio确实可以跑OpenCV的代码)

                                                2.安装Visual Studio的过程

    去年2017年,我也安装过Visual Studio 2017,但连是否安装成功我也不是很清楚。因为这个软件还附带了很多的文件,都无法浏览安装在C盘以外的盘符内,因此比较占用C盘系统盘的空间。今年我下定决心,无论如何也要把这个软件用起来,因此也就买了新的台式机(16G内存)并安装了500G的固态硬盘专门用来当系统盘C盘。

    在学校的pt网站上下载了Visual Studio 2017以后,就开始解压和安装。在安装过程中果真出现了需要选择其他附件的地方。根据需求,我只选择了我可能会用到的C++的部分,并没有勾选其他的.net和C#等内容。后来发现这样的设置确实不会在使用C++时出现问题。

    最后,安装完成之后,这个软件还需要登陆微软账号才能使用。因为这个Visual Studio貌似是微软开发出来的专用于开发软件的套件,因此也就需要微软的账号。

                                                3.下载OpenCV和配置OpenCV

    OpenCV有一个专用的org网站,可以下载最新版本的OpenCV库,我在2018年6月初下载到了3.4.1的版本。

    解压后,可以发现build、source两个文件夹和三个“txt”文件。根据网上查到的资料,三个“txt”文件主要是一些说明内容,不需要配置。只需要关注前两个文件夹。

    “build”文件夹主要是各种包含文件(include)和库文件(x64/vc15)。

    “source“文件夹则主要是一些例程,在samples/cpp中可以找到很多例程用于学习和参考。

    配置OpenCV文件是一个非常麻烦容易出错的过程。要说清楚的是,配置OpenCV并不是把OpenCV库放进VisualStudio里面那么简单。

    首先,要在Visual Studio里面建立一个工程文件‘project’才能进行配置。单个的‘cpp’文件是不能配置使用OpenCV库的。

    之后,在屏幕上方Debug工具中,一定要选择“x64”这个选项。如果不选这个,后面的配置包含文件和库等内容将只对“x86”的内容有效,系统将不识别OpenCV中常见的那些函数和变量(会将“Mat”识别为随即输入的字符串等),这将会很尴尬。

    之后,在“解决方案资源管理”里面右击已经建立的project,进入project的属性里面进行设置。在“VC++目录”的“包含目录”中添加:“C:\OpenCVLibrary\opencv\build\include\opencv2”

                    “C:\OpenCVLibrary\opencv\build\include\opencv”

                    “C:\OpenCVLibrary\opencv\build\include”

    在“VC++目录”的“库目录”中添加“C:\OpenCVLibrary\opencv\build\x64\vc15\lib”

    再在“链接器-输入-附加依赖项”中添加“opencv_world341d.lib”(据说带“world”的)

    这样,才能保证在这个新建的C++的project中新建C++代码之后,如果使用"#include <xxx>",是可以引用到OpenCV库里面的函数和变量的。(但这只是允许引用,真正要引用,还得记得在程序最前面写好“#include<xxx>”)

    关于初步使用,简单的功能可以实现读入和写入图片,驱动摄像头以及标定相机等,其具体设置方法在下一篇文档中进行介绍。

猜你喜欢

转载自blog.csdn.net/yibeiyese/article/details/80634376
今日推荐