在AI如此火爆的今天,好像不学点AI的东西就落伍了。最近开始了AI中计算机视觉方面的学习。隐隐感觉人脸识别、图像识别会有广阔的应用空间,将来可能作为AI中最重要的输入,视觉输入,想想都是一件令人振奋的事情。还是遵循大道,从简入手。先学习下OpenCV的编译。
1、OpenCV目前通过CMake进行编译。第一步从CMake官网下载CMake进行安装。
![4b44a2c7e05a0531859cf32428212af6.png](https://i-blog.csdnimg.cn/blog_migrate/63f7e202f6975c6160a8473fb2ba45d1.jpeg)
2、从OpenCV官网下载OpenCV源码包进行编译。个人下载的是最新的3.4.7版本。
![e500b93849221d03f8fdea2c20da69e3.png](https://i-blog.csdnimg.cn/blog_migrate/5931f0dd270dc101e0b2a4ceb7478d2f.jpeg)
3、CMake安装完成后,打开编译界面。
![b39a6b133915dc88e5592f8ec695a1d4.png](https://i-blog.csdnimg.cn/blog_migrate/ba3b43a09d5efc1d2ce97c1ba90f6b77.jpeg)
4、将下载的OpenCV源码包进行解压。
![1387e041428764e93ea1f45bc666d42d.png](https://i-blog.csdnimg.cn/blog_migrate/e261c1d565fa35a555f730cc215df35a.jpeg)
5、通过CMake编译界面,指定源码路径和编译后文件存放路径。
![ba9b37c4913b7d1c235e7274b4db7295.png](https://i-blog.csdnimg.cn/blog_migrate/2d9113a2717a2741d33321d3c6876a66.jpeg)
6、点击“Configure”,此时会弹出vs选择窗口(编译OpenCV必须安装Visual Studio,本人安装的是最新的2019版本),选择后,点击“Finish”按钮进行编译。
注:此时会花费较长时间,请耐心等待。
![a672dfc1e7991ed73cc27b6905a8cc42.png](https://i-blog.csdnimg.cn/blog_migrate/329ec208e5411eeb41093f761d261660.jpeg)
7、第一次编译完成后,会出现一些错误提示。此时需要手动勾选BUILD_EXAMPLES和BUILD_opencv_world,继续点击“Configure”按钮进行编译。
![bc530901bebcd09b452108d369a72826.png](https://i-blog.csdnimg.cn/blog_migrate/bb72f9042286f24e870ac2b158adcff3.jpeg)
8、点击完成后,此时发现不再有错误提示。
9、opencv_contrib 编译,此模块所包含的 OpenCV 由其他开发人员所贡献的代码,其包含大多数高层级的函数功能。首先下载opencv_contrib代码,下载地址https://github.com/opencv/opencv_contrib/releases。
注:下载版本与OpenCV版本保持一致。
![2a06764f9e5fbc9c43eb53c3e597f543.png](https://i-blog.csdnimg.cn/blog_migrate/fc3bcfa605955347a3f2edaa711e8de2.jpeg)
10、在CMake编译器中查找OPENCV_EXTRA_MODULES_PATH,查找opencv_contrib源码下modules文件,点击“Configure”按钮,继续进行编译。
![d2e368ac68ddd8df329929c40f8848a5.png](https://i-blog.csdnimg.cn/blog_migrate/a2e99d3b43f458832585ab4a4465d892.jpeg)
11、在opencv_contrib第一次编译后仍然会出现一片红色区域,此时再次点击“Configure”按钮进行编译。
![2b8f2f240c995f9109c302391e4ba55e.png](https://i-blog.csdnimg.cn/blog_migrate/9be3a3d6e285e9176eb8fdf6cbad20b0.jpeg)
12、点击“Generate”按钮生成项目。
![80b1261a0e4393cb792fc6a441127915.png](https://i-blog.csdnimg.cn/blog_migrate/12899c07af4c02054d8cde39f126fc47.jpeg)
13、项目生成后,可以通过“Open Project”按钮打开项目。
![57dad6e574535981c898449b2c794667.png](https://i-blog.csdnimg.cn/blog_migrate/732bc66caa3be6d5270962c411bfd662.jpeg)
14、编译生成Debug版本的库。在解决方案中选中工程,右键选择重新生成解决方案。
![8d29c61be264627ab3b17beea2f90475.png](https://i-blog.csdnimg.cn/blog_migrate/395acbfffb6cdee6a09fe7a54ea49985.jpeg)
![a12c4a3f8c4332fa2b32eea8def58ddd.png](https://i-blog.csdnimg.cn/blog_migrate/13041013e449efff8197192dec0a5603.jpeg)
15、在Visual Studio打开的OpenCV项目下找到CMakeTargets中的INSTALL,然后右键选择“仅限于项目”->“仅生成INSTALL”。
![39e8ffb52d1fe9914f23d80843532d56.png](https://i-blog.csdnimg.cn/blog_migrate/d90613e3dcd1090ecc0352ac029cb4ec.jpeg)
16、切换到Release模式,执行与生成Debug版本库相同的操作。
![52dae52ed64772ae71a2dd19cae110d1.png](https://i-blog.csdnimg.cn/blog_migrate/f522c8c5d8656e7704407546fd248615.jpeg)
17、编译完成后,可以看到install目录下的头文件和库文件等。
![db1cd11237e26504d5421ef2d4711f30.png](https://i-blog.csdnimg.cn/blog_migrate/176ff2e5688d3b0e8b6a76c56f3b304a.jpeg)
本人具有多年软件开发经验,熟悉多种框架,熟悉网络编程,熟悉java安全编程,熟悉大数据,熟悉多种安全协议,熟悉并发编程,有兴趣的同学可以互相关注,互相学习!!!我们不是代码的奴隶,我们代码的驾驭者。将你的编程思想融入代码,让代码活起来。智启未来!只要学习,永不算晚!