opencv-4.1.2及opencv-contrib_4.1.2编译解决方案

news/2024/12/1 0:42:44/

一、首先在官网上下载opencv-4.1.2及opencv_contrib-4.1.2源码,两者需要保持版本一致,注意目录名称不要包含汉字。
二、到官网下载cmake-3.23.1-windows-x86_64
三、安装vs2017
四、安装Qt5.14.1选则msvc2017_32位、msvc2017_64位、mingw_32位、mingw_64位编译器,并选择好其他的选项,安装完毕后要在系统变量-path中设置路径:D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin;D:\Qt\Qt5.14.2\Tools\mingw730_32\bin;D:\Qt\Qt5.14.2\Tools\mingw730_64\bin;D:\Qt\Qt5.14.2\Tools\msvc2017\bin;D:\Qt\Qt5.14.2\Tools\msvc2017_64\bin;
五、安装cmake-3.23.1,并在系统变量-path中加入C:\Program Files\CMake\bin
六、进入opencv_contrib-4.3.0目录:
\opencv_contrib-4.3.0\modules\xfeatures2d\cmake
打开cmake的27行:
"https://raw.staticdn.net/opencv/opencv_3rdparty/{OPENCV_3RDPARTY_COMMIT}/"改成 “https://raw.staticdn.net/opencv/opencv_3rdparty/${OPENCV_3RDPARTY_COMMIT}/”
七、进入opencv目录
1、将 3rdparty\ippicv\ippicv.cmake 第47行:
“https://raw.githubusercontent.com/opencv/opencv_3rdparty/{IPPICV_COMMIT}/ippicv/"修改为:
“https://raw.staticdn.net/opencv/opencv3rdparty/{IPPICV_COMMIT}/ippicv/””
2、将3rdparty\ffmpeg\ffmpeg.cmake 第25行:“https://raw.githubusercontent.com/opencv/opencv_3rdparty/{FFMPEG_BINARIES_COMMIT}/ffmpeg/“修改为:https://raw.staticdn.net/opencv/opencv3rdparty/{FFMPEG_BINARIES_COMMIT}/ffmpeg/”
八、如果要同时编译opencv_contrib,则在第一遍configure之后在OPENCV_EXTRA_MODULES_PATH中点击右边的按钮选择正确的路径,注意此处必须是用鼠标点击按钮选择路径,不能复制粘贴,否则会配置失败
,默认配置是不需要同时编译扩展库opencv_contrib,则在第一次配置后直接点击生成配置文件。
九、cmd窗口中切换至build目录,执行命令:mingw32-make -j 4(根据你的电脑的内核数量),再执行:mingw32-make install
十、\build\install文件夹中的就是编译好的opencv的内容了,要使用的话需要在系统变量-path中加入:例如:D:\opencv4.1.2\build\install\x86\mingw\bin;或D:\opencv4.6.0\build\x64\vc14\bin;
十一、msvc2017对应vc14,注意选择好你的编译器。
在这里插入图片描述

秋风写于淄博,业务联系与技术交流:Q375172665


http://www.ppmy.cn/news/45412.html

相关文章

MLT 视频编辑框架简介(二):框架设计简述

系列文章目录 MLT 视频编辑框架简介(一)编译与 demo 运行 文章目录 系列文章目录0. 前言1. 基本概述2. 使用Hello WorldFactoriesService 属性PlayListFiltersAttached FiltersIntroduction the MixPracticalities and OptimisationsMultiple Tracks an…

【Java】数据类型与变量

一、java中的数据类型 Java中数据类型主要分为两类:基本数据类型和引用数据类型。 1.与c语言相同的数据类型 short,int,double,float均与c语言保持相同。 2.与c语言不同的数据类型 byte--字节类型 char--字符类型 java中,byte类型只占一个字节&#xff…

【数据结构】顺序表详解

本章要分享到内容是数据结构线性表的内容,那么学习他的主要内容就是对数据的增删查改的操作。 以下为目录方便阅读 目录 1.线性表中的顺序表和顺序表 2.顺序表 2.1概念和结构 2.2动态顺序表使用场景 比如我们看到的所显示出来的群成员的列表这样所展示出来的数…

Python 机器人学习手册:1~5

原文:ILearning Robotics using Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,你最好…

WebServer项目(一)->计网知识补充

WebServer项目->计网知识补充 1.网络结构模式C/S结构B/S结构 2.MAC 地址3.IP 地址1)IP 地址编址方式2)A类IP地址3)B类IP地址4)C类IP地址5)D类IP地址(了解)6)特殊的网址7)子网掩码 4.端口5.网络模型1)OSI 七层参考模型(Open System Interconnection)2)…

Rust China Conf 2023 筹备启动:议题征集开始

大会介绍 Rust China Conf 2023 由 Rust 中文社区发起主办、知名企业和开源组织联合协办,是年度国内规模最大并唯一的 Rust 线下大型会议,深受 Rust 中文社区开发者与相关企业的喜爱与推崇。 本次大会为线下会议,将于6月17日-18日在上海举办&…

ObjectMapper 对象的基本使用(二)

一.简介 Jackson ObjectMapper可以从字符串、流或文件解析JSON,并创建Java对象或对象图来表示已解析的JSON。将JSON解析为Java对象也称为从JSON反序列化Java对象 Jackson ObjectMapper也可以从Java对象创建JSON. 从Java对象生成JSON的过程也被称为序列化Java对象到…

真题详解(线性表)-软件设计(四十八)

原创 真题详解(UML图)-软件设计(四十七)https://blog.csdn.net/ke1ying/article/details/130096516 TCP 属于传输层, 用TCP连接的应用层有: SMTP(25) HTTP(80) Telnet&#xff08…