记录一下OpenCV Contrib 编译踩的坑

news/2025/1/21 14:01:15/

最近有需要采用OpenCV Contrib 里面的函数做一下处理,要重新编译,一路编译两三个小时了,记录一下备忘吧。
1、编译前先准备好如下环境
①visual studio已安装,具体版本和型号根据需求经验来,我看常用的是VS2015、VS2017、VS2019.
②Cmake 版本不要太低
③OpenCV 源代码
https://github.com/opencv/opencv
一定要准备源代码,我先偷懒,把之前下载的免编译版本拿过来直接用,不知道哪里没有兼容好,一直报错,我真的是谢了。。。

还有,到底下载哪个版本的OpenCV,首先看需求经验,要先搜一搜与安装VS版本稳定兼容的版本。比如,我的是VS2022了,我搜到兼容稳定性比较好的是OpenCV-4.7.0,我就下载这个了。

④OpenCV Contrib 源码
https://github.com/opencv/opencv_contrib
一定要与OpenCV 的版本相匹配,如果OpenCV是4.7.0,么OpenCV Contrib的版本也得是4.7.0。
在这里插入图片描述在这里插入图片描述

2、编译
1)当把源码下载到本地以后,先解压到一个路径(不要包含中文),一般不建议放C盘,除非只有一个盘。
在这里插入图片描述
2)打开Cmake 进行编译
如下绿框是要先设置好,按键 configure启动
在这里插入图片描述
注意:点击config 以后,就开始搭建房子框架了,输出窗口非常重要,随着支持文件的下载环境监测等流程进行,输出窗口会反馈结果,爆红。。。
此处新手是需要学习的,逐句检查,参考这个来吧,写的很详细
OpenCV_contrib配置教程(详细版)
但是这里想记一点不一样的
(1)首先为了运行速度快,test的我都没选种
在这里插入图片描述
(2)网速很重要,如果github 链接快,才没那么多错误
我在编译过程中发现了很多因为网速或者没翻墙等原因,就是下载不了文件,我都是到处有额外下载的。

(3)当configure 一直报错,那就好好检查输出窗口,把需要的文件下载下来,然后把它重命名成缓冲区对应的文件名,业内把这叫搭梯子。

(4)所有梯子文件制作完毕以后,最好是吧生成路径(Cmake的目标路径)下的文件全都删除,并清理一下cmake的缓存,然后从头开始,此处还要配好选项和选择。这一步需要足够快速的网络,还要足够细心,反复来几遍也不是不可能。Cmake的输出窗口其实非常明确,要细读。不懂警告和错误的,就复制下来浏览器搜索答案,或者问问AI,千万不要忽略不计,除非你真的用不到,不然怎么编译也得不到想要的结果。

CMakeDownloadLog.txt 文件记录了下载,当哪一个文件下载失败不仅输出窗口有 failed 提示,这边也有对应的记录,里面有健全的链接,复制到网络好的地方都可以下载。

(5)最后一点,我configure 和generate成功以后,open project,我的生成编译方式参考的是
opencv_contrib编译
我更喜欢这种简洁明了的方式。

感谢网络互联,知识共享!


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

相关文章

用行动回应“实体清单”,智谱发布了一系列新模型

1月15日晚间,美国商务部工业和安全局(BIS)修订了《出口管制条例》(EAR),以安全为由在实体清单中分两批增加了25个中国实体。 其中就包括智谱及其子公司,也是国内首家被美国列入实体清单的大模型…

Kubernetes (K8s) 权限管理指南

1. 引言 Kubernetes (K8s) 作为当今最流行的容器编排平台,其安全性至关重要。本指南旨在全面介绍 K8s 的权限管理机制,帮助具有一定基础的读者深入理解并掌握这一关键领域。 © ivwdcwso (ID: u012172506) 2. Kubernetes 安全模型概述 K8s 的安全模型主要包括三个阶段…

使用Python爬虫获取1688网站item_get_company API接口的公司档案信息

一、引言 在当今的商业环境中,获取供应商的详细信息对于采购决策、市场分析和供应链管理至关重要。1688作为中国领先的B2B电子商务平台,提供了丰富的供应商档案信息。通过使用1688的item_get_company API接口,我们可以方便地获取这些信息。本…

nginx实现TCP反向代理

当前实验环境: nginx已安装版本1.11.13 需要动态扩展安装模块nginx_tcp_proxy_module,实现tcp反向代理 实验步骤: 1、nginx当前版本1.11.13(nginx已安装) # /alidata/nginx/sbin/nginx -v nginx version: nginx/1.1…

OLED--软件I2C驱动__标准库和HAL库

一、标准库---版本一 OLED.c--标准库 #include "stm32f10x.h" #include "OLED_Font.h"/*引脚配置*/ #define OLED_W_SCL(x) GPIO_WriteBit(GPIOB, GPIO_Pin_8, (BitAction)(x)) #define OLED_W_SDA(x) GPIO_WriteBit(GPIOB, GPIO_Pin_9, (BitAction)(x…

假设k8s集群规模上千,需要注意的问题有哪些?

在Kubernetes(K8s)集群规模达到上千个节点时,需要注意的问题相对较为复杂和全面。以下是一些关键的考虑因素和最佳实践: 1. 资源管理 资源配额:设置适当的资源配额(Resource Quotas)和限制&am…

网络Web存储之LocalStorage

文章目录 LocalStorage介绍定义特点兼容性常用方法存值取值删除指定键值对清空所有键值对通过索引获取键名获取所有值判断是否含有某个键(key)拓展遍历得到key存储和读取复杂类型的数据 应用场景 LocalStorage介绍 定义 LocalStorage 是HTML5提供的一种…

Windows环境本地配置pyspark环境详细教程

目录 一、背景简记二、本地单机spark环境配置详细步骤第一步:python环境安装第二步:安装jdk及配置环境变量安装包下载安装环境变量配置 第三步:安装Spark安装包下载安装配置环境变量 第四步:安装hadoop安装包下载安装配置环境变量…