VS编译OpenCV和OpenCV-contrib
1、下载OpenCV源码
官网:Releases - OpenCV
2、下载OpenCV-Contrib源码
GitHub地址:opencv_contrib
为什么要下载OpenCV contrib呢?
因为自从OpenCV 3.0之后,很多经典的算法,比如sift和surf特征点检测算法,由于专利原因,已经不包含在OpenCV的源码当中了,需要下载OpenCV contrib包才能继续使用。
选择一个,点进去,此处选择的版本需要和上面下载的OpenCV版本一致:
点击下载zip源码
3、下载安装CMake
官方下载地址:Download | CMake
4、下载安装Visual Studio
官方下载地址:Visual Studio 2022 IDE (microsoft.com)
最新版本是VS2022,社区版足够用,若需要安装专业版和企业版可网上寻找激活密钥
下载的只是VS的安装程序,下载安装后启动,只选择使用C++进行桌面开发即可
5、整理文件
源码下载后解压,为简单明了,将其放在一个文件夹中,并创建一个build
文件夹,用来存放编译后的文件
6、配置编译选项
需要保证有良好的网络环境,最好可以科学上网,要保证可以下载以https://raw.githubusercontent.com
开头的文件,因为接下来会下载一些缺失的文件,均是从该链接下下载的,若没有良好的网络环境,需要看之后的修复过程。
等待一会,会出现以下界面,若为红色,可再点击一下Configure
:
此处要在搜索框中搜索要勾选/取消勾选的内容如下:
BUILD_opencv_world
主要是把所有的lib文件都弄到一个opencv_world450d.lib中方便配置。OPENCV_ENABLE_NONFREE
是为了在编译成功后可以使用具有专利保护的算法,如果该变量不被选中,就不能使用具有专利保护的算法,使用opencv-contrib
时务必勾选;OPENCV_EXTRA_MODULES_PATH
,选择opencv_contrib
源码里的modules
文件夹。如果这个变量为空,只是安装了OpenCV的基础版,不包括opencv-contrib
;输入
test
找到OPENCV_PERF_TESTS
、BUILD_TESTS
、BUILD_opencv_python_tests
不勾选;输入
java
查找BUILD_JAVA
、BUILD_opencv_java_bingdings_generator
不勾选,若需要java
环境应勾选;输入
python
查找BUILD_opencv_python3
、BUILD_opencv_python_bingdings_generator
不勾选,若使用Python
可以勾选,但若Python
使用OpenCV
,建议安装opencv-python
和opencv-contrib-python
,使用pip
即可安装。
完成上述步骤后,点击Generate
7、使用VS进行编译生成
点击Generate
无错误完成后,再点击Open Project
使用VS打开项目,右键点击解决方案,选择批生成:
然后勾选这两项后,点击生成
:
等待一段时间,会生成完成,时间由你电脑性能决定,快的话十来分钟就好:
然后找到刚才创建的build
文件夹下,找到install
文件夹,里面的内容即是编译好的文件。
8、问题解决
在配置编译选项时,可能会出现很多报错情况,如下图所示,有的电脑虽然最后也显示配置完成了,但是也还是有很多文件没有安装完成,这在编译或后续的使用过程中可能会出现很多问题。
错误的原因是因为国内网络无法正常从github
中下载文件,所以需要我们手动下载文件,然后再复制到对应的文件夹中。
错误解决时,只需要注意这些下载错误即可,对于一下关于Python
的缺失,可以不用管,因为并不编译和Python
相关的OpenCV
(1)CMakeDownloadLog.txt
文件
该文件记录了一些文件的下载链接和下载后要存放的地址,如下图所示,cmake_download
标志了哪一行是关于下载的,之后就是文件下载后要保存的位置,最后是下载地址。此处需要注意的是,保存的文件名和下载的文件名称不一样,保存的文件名称=下载文件的md5值+下载文件名。
注意:CMake
中点击Configure
和Generate
均可能有文件下载,所以点击最好点击完后再去找CMakeDownloadLog.txt
文件进行解析和下载文件。
(2)下载文件并移动
复制上面的下载地址,然后去下载,下载完成后重命名,然后移动到对应的文件夹,指定的路径可能存在文件,最好删除,因为那里面的文件大多是未下载完成的文件。
对于文件下载,若是之前运行CMake
时报错,那么手动下载文件大概率也会无法下载或下载速度缓慢,此处需要用到github
加速站来加速文件下载了。
有很多加速站可用,这里提供两个暂时可用的:
GitHub Proxy 代理加速 (ghproxy.com)
GitHub 文件加速 (91chi.fun)
如下图所示,将文件下载链接输入到输入框中,点击下载即可加速下载。或直接在原链接前加上加速站的链接,如:
原下载链接:https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat加速后的下载链接:https://ghproxy.com/https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
VS编译OpenCV和OpenCV-contrib相关推荐
- 如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文主要介绍如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib. OpenC ...
- QT学习:Qt 5.11.1+OpenCV (含Contrib)-3.4.3环境搭建
一.安装CMake CMake是用于编译的基本工具,其下载地址为:https://cmake.org/download/,下载获得的安装包 文件名为cmake-3.12.3-win64-x64.msi ...
- DM8168 OpenCV尝试与评估(编译ARM版OpenCV)
交叉编译opencv2.3.1,并在DM8168 cortex A8中执行图像处理. 开发环境: PC:ubuntu12.04LTS.Intel Core 2 Duo CPU E7200@2. ...
- ubuntu16.04编译安装c++ opencv与vscode配置debug
一.编译安装c++ opencv 1.下载zip包 本文安装的是opencv3.4.3,下载链接,以Sources方式下载zip包. 2.安装依赖 sudo apt-get install build ...
- opencv扩展包contrib算法简介
opencv扩展包contrib算法简介 An overview of the opencv_contrib modules - **aruco**: ArUco and ChArUco Marker ...
- g++编译使用到opencv: undefined reference to `cv::String::deallocate(),
g++编译一个包含opencv的文件,报错如下: tinyyolopostprocessor.cpp:(.text._ZN2cv6StringD2Ev[_ZN2cv6StringD5Ev]+0x14) ...
- 【OpenCV学习】 《OpenCV3编程入门》--毛星云 01 邂逅OpenCV(OpenCV基本概念与基本架构) ROS系统上的运用(python实现)
对 <OpenCV3编程入门>第一章的学习笔记:理解什么是计算机视觉,什么是OpenCV,以及其中的联系等等. PS:此书为2014年出版,opencv的版本和接口也与现在有些不一致了,作 ...
- Cmake编译配置opencv3.3+contrib+cuda7.5
这次配置cuda加速真是遇到各种错误,前后折腾了三四天才总算成功了.下面是我的编译配置opencv的步骤以及遇到的一些坑. 1.准备工作 opencv3.3 源文件下载链接:https://githu ...
- CV之OpenCV:OpenCV库涉及概念、常见函数、常用案例、HALCON软件简介之详细攻略
CV之OpenCV:OpenCV库涉及概念.常见函数.常用案例.HALCON软件简介之详细攻略 目录 CV入门 OpenCV使用过程 1.基本教程 OpenCV的相关概念 1.基本概念
- vs2017python配置opencv_[opencv +VS2017] opencv、vs2017安装配置,环境搭建
文章目录 [opencv] 3.4.1下载安装 一.前言 二.说明 三.下载opencv 3.1 获取链接 3.2 下载结果 四.安装opencv 五.配置opencv环境 六.vs2017 6.1下 ...
最新文章
- mysql 避免使用NULL字段
- mcp2515 芯片驱动总线错误BUG的解决方法(主要无法进入中断bug)
- 给指定服务器加路由,无线路由器如何给终端分配指定的IP地址?
- 用python爬取淘宝用户数据的单位是_国内有没有数据爬取方面的公司?
- geotools读取shp文件及shp文件操作工具类代码
- 下面关于html的描述正确的一项是,1 x 证书 Web 前端开发初级理论考试试卷五(2)...
- wps如何交叉引用多个文献_WPS中引用参考文献的设置
- 将速度加快到自己的个人代码生成器中
- 快速排序 动图_Java十大排序算法最强总结
- [渝粤教育] 西南科技大学 财务管理与分析 在线考试复习资料
- oracle存储过程深入,深入了解oracle存储过程的优缺点
- MyEclipse的快捷使用(含关联源码和Doc的方式)
- 2021高考分数文科成绩查询,2021高考分数线预测 文科理科分数线是多少
- 新手如何从零开始入门前端开发,分享我的学习方法!
- 推荐算法工程师必备!!!协同过滤推荐算法总结
- c语言上机作业五套含答案,计算机二级C语言上机题库100套(含答案)
- yuzu模拟器linux,yuzu模拟器使用教程 yuzu模拟器手机版下载
- 如何使用两台无线路由器进行无线桥接(互联)(转)
- CloudCompare源码分析之ccViewer模块:应用类(阅读经典)
- 大数据处理与分析方向主要干什么_大数据分析_方向_方法与工具