当前位置: 首页 > news >正文

【opencv】多版本安装

安装opencv3.2.0以及对应的付费模块

一、安装多版本OpenCV如何切换

按照如下步骤安装的OpenCV,在CMakeLists.txt文件中,直接指定opencv的版本就可以找到相应版本的OpenCV,为了验证可以在CMakeLists.txt文件中使用如下指令输出版本验证:

find_package(OpenCV REQUIRED)
message("OpenCV version  is : ${OpenCV_VERSION}")

1.1 安装步骤概述

  1. 在/usr/local/下新建opencv版本的路径,比如这里安装opencv-3.2.0

    sudo makdir opencv3.2.0
    
  2. 把下载的opencv-3.2.0.zip文件夹, 建议安装的时候一并把contrib模块一起安装上。

    下载contrib之后,解压到opencv-3.2.0文件下;

    mkdir build
    cmake-gui
    

    填写路径和编译路径为:

    在这里插入图片描述

    点击配置configure按钮,然后修改:

    • 设置CMAKE_INSTALL_PREFIX=/usr/local/opencv3.2.0

    • 选择

    OPENCV_EXTRA_MODULES_PATH=/home/pf/iSoftware/opencv-3.2.0/opencv_contrib-3.2.0/modules

    • 选择OPENCV_ENABLE_NONFREE=True使用非免费的模块。

    • 选择ENABLE_PRECOMPILED_HEADERS=OFF

    然后点击configure,点击generate多次,直到cmake-gui全部没有红色,此时cmake就完成了。

    最后进入到build文件夹下,make -j12 sudo make install 即可!

二、报错解决

2.1 报错一

error: 'CODEC_FLAG_GLOBAL_HEADER' was not declared in this scope 

解决:在opencv/opencv-3.2.0/modules/videoio/src/cap_ffmpeg_impl.hpp 文件中修改,顶部加入:

#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020

2.2 报错二

/home/pf/iSoftware/opencv-3.2.0/modules/python/src2/cv2.cpp:730:34: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]

找到对应报错位置修改如下:

bool pyopencv_to(PyObject* obj, String& value, const char* name)
{(void)name;if(!obj || obj == Py_None)return true;// char* str = PyString_AsString(obj);char* str = (char *)PyString_AsString(obj);if(!str)return false;value = String(str);return true;
}

最后在进行make -j12 即可成功安装

相关文章:

【opencv】多版本安装

安装opencv3.2.0以及对应的付费模块 一、安装多版本OpenCV如何切换 按照如下步骤安装的OpenCV&#xff0c;在CMakeLists.txt文件中&#xff0c;直接指定opencv的版本就可以找到相应版本的OpenCV&#xff0c;为了验证可以在CMakeLists.txt文件中使用如下指令输出版本验证&…...

webpack打包常用配置项

webpack打包配置项 参考链接 文件结构&#xff1a;最基础版 先安装 npm i webpack webpack-cli --dev 运行命令&#xff1a;npx webpack 进行打包 1. 配置webpack.config.js文件&#xff1a; const path require(path); module.exports {mode: development, // 开发环境 …...

回归预测 | MATLAB实现MPA-BiGRU海洋捕食者算法优化双向门控循环单元多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现MPA-BiGRU海洋捕食者算法优化双向门控循环单元多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现MPA-BiGRU海洋捕食者算法优化双向门控循环单元多输入单输出回归预测&#xff08;多指标&#xff0c;多图&a…...

selenium_webdriver自动化测试指南

目录 1 引言 4 1.1 目的.. 4 1.2 背景.. 4 1.3 参考资料.. 4 2 安装并引用Selenium2. 5...

红米Note12Turbo解锁BL刷入PixelExperience原生ROM系统详细教程

红米Note12Turbo的兄弟是国外POCO F5 机型&#xff0c;并且该机性价比非常高&#xff0c;国内外销量也还可以&#xff0c;自然不缺第三方ROM适配。目前大家心心念念的原生PixelExperience已成功发布&#xff0c;并且相对来说&#xff0c;适配程度较高&#xff0c;已经达到日用的…...

NoSQL之Redis配置与优化(一)

关系数据库与非关系型数据库 &#xff1a; ●关系型数据库&#xff1a; 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 SQL 语句&#xff08;标准数据查询语言&#xff09;就是一种基于…...

Boost搜索引擎

项目背景 先说一下什么是搜索引擎,很简单,就是我们平常使用的百度,我们把自己想要所有的内容输入进去,百度给我们返回相关的内容.百度一般给我们返回哪些内容呢?这里很简单,我们先来看一下. 搜索引擎基本原理 这里我们简单的说一下我们的搜索引擎的基本原理. 我们给服务器发…...

侧边栏的文章分类、热门文章和热门文章的展示(Go 搭建 qiucode.cn 之九)

早就有言,秋码记录 虽早已不是原来的面貌,但这终究是不防碍我们使用golang来搭建它。 而又为什么是使用golang呢?并非是其他编程语言呢?想必 时候回答【我为什么要学习 Go 语言(golang)】这个问题了 已经给出了答案! 当然,当初学习golang时,不单单是为了搭建一个博客应…...

LeetCode——贪心篇(二)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 134. 加油站 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗…...

Linux find

1.find介绍 linux查找命令find是linux运维中很重要、很常用的命令之一&#xff0c;find用于根据指定条件的匹配参数来搜索和查找文件和目录列表&#xff0c;我们可以通过权限、用户、用户组、文件类型、日期、大小等条件来查找文件。 2.find语法 find语法 find [查找路径] …...

UE4实现断线重连功能

断线重连的整体逻辑是 设备离线后&#xff0c;根据需要决定是否保留pawn&#xff0c;还是设备重连后再重新生成一个&#xff0c;然后是断线重连时的验证方式&#xff0c;最后是playerstate重连后的属性保留 重载Playercontroller的PawnLeavingGame,这里是设备断线后&#xff0…...

nginx笔记

1. nginx 简介 nginx性能比apache强&#xff0c;体现 在io模型方面 76 Pv&#xff1a; UV : 不同浏览器是不同的UV GET 获取 POST 上传 HEAT 只看头 访问网站的流程 1.dns解析 2.cdn 3.tcp 4.web服务器 处理 建立连接 接收请求 处理请求 GET POST等 获取资源 构…...

动态库的制作和使用

动态库和静态库的工作原理 配置环境变量 方式1&#xff1a; 坏处&#xff1a;环境变量是临时的 方式2&#xff1a; 1 用户级别的配置&#xff1a; 进入到/home&#xff0c;找到.bashrc&#xff0c;进入 先去找到库的路径 然后再到.bashrc最后一行输入路径 使其生效 2 系统…...

AWS Glue Pyspark+Athena基础学习汇总

Pyspark 基础学习汇总篇🍎 一、AWS 架构 ① AWS Glue:工作平台,包括脚本的编写以及管理脚本的运行状态以及调度等(主要:数据库配置、ETL和数据转换脚本编写、调度) ② Amazon S3 数据湖(数仓):数据的存储 ③ Athena:(雅典娜)SQL直接编写查询工作台(会产生费用) ④ Q…...

智能合约安全新范式,超越 `require`和`assert`

智能合约安全新范式&#xff0c;超越 require_assert 摘要 不要只为特定的函数写 require 语句&#xff1b;为你的协议写 require 语句。函数遵循检查(requirements)-生效(Effects)-交互(INteractions)协议不变性(Invariants)或 FREI-PI 模式可以帮助你的合约更加安全&#x…...

【ESP-S3-BOX-Lite花屏问题】:Github下载源码(出厂源码factory_demo)编译调试到ESP-S3-BOX-Lite中出现花屏现象

项目场景&#xff1a; 最近拿到了一块乐鑫的 ESP-S3-BOX-Lite &#xff08;esp-box: ESP-BOX 是乐鑫信息科技&#xff09; 详细资料&#xff08;esp32_s3_box_lite&#xff09; 版本信息 ESP-BOX依赖的 ESP-IDF分支信息支持状态master> release/v5.1 commit id: 22cfbf3…...

Redis集群3.2.11离线安装详细版本(使用Ruby)

1.安装软件准备 1.Redis版本下载 Index of /releases/http://download.redis.io/releases/ 1.2gcc环境准备 GCC(GNU Compiler Collection,GNU编译器套件)是一套用于编译程序代码的开源编译器工具集。它的主要用途是将高级编程语言(如C、C++、Fortran等)编写的源代码转换…...

Ansible自动化运维

目录 前言 一、概述 常见的开源自动化运维工具比较 二、ansible环境搭建 三、ansible模块 &#xff08;一&#xff09;、hostname模块 &#xff08;二&#xff09;、file模块 &#xff08;三&#xff09;、copy模块 &#xff08;四&#xff09;、fetch模块 &#xff…...

MSTP + Eth-Trunk配置实验 华为实验手册

1.1 实验介绍 1.1.1 关于本实验 以太网是当今现有局域网LAN&#xff08;Local Area Network&#xff09;采用的最通用的通信协议标准&#xff0c;以太网作为一种原理简单、便于实现同时又价格低廉的局域网技术已经成为业界的主流。 本实验主要介绍了LAN网络中的Eth-Trunk技术…...

滚动菜单 flutter

想实现这个功能&#xff1a; 下面的代码可以实现&#xff1a; import package:flutter/material.dart;void main() > runApp(MyApp());class MyApp extends StatelessWidget {static const String _title Flutter Code Sample;overrideWidget build(BuildContext context)…...

从SMP到NUMA:聊聊多核CPU时代Linux内存管理是怎么‘进化’的

从SMP到NUMA&#xff1a;多核CPU时代的内存管理演进之路 2000年代初&#xff0c;当单核CPU的主频竞赛逐渐触及物理极限时&#xff0c;计算机架构师们面临一个关键抉择&#xff1a;如何在芯片上堆叠更多晶体管&#xff1f;答案最终指向了多核设计。但随之而来的内存访问瓶颈&…...

测水位·报雨情·预洪水:水文监测站

水文监测站采用先进平面阵列雷达微波探测技术&#xff0c;设备悬空架设、非接触式采集河道水体数据。通过高精度雷达天线持续发射微波信号&#xff0c;穿透空气介质触达水面后反射回波&#xff0c;系统精准测算信号传播时长与多普勒频移变化&#xff0c;结合设备自带角度校准功…...

MyBatis如何实现动态数据源切换?

MyBatis如何实现动态数据源切换 在现代应用中&#xff0c;特别是微服务架构中&#xff0c;使用多个数据库的情况越来越常见。MyBatis是一个流行的Java持久层框架&#xff0c;它允许我们方便地与多种数据库进行交互。在某些情况下&#xff0c;我们可能需要动态切换数据源&#x…...

BurstGPT:大语言模型驱动高性能计算,实现自然语言科学仿真

1. 项目概述&#xff1a;当大语言模型遇上高性能计算最近在AI和HPC&#xff08;高性能计算&#xff09;的交叉领域&#xff0c;一个名为BurstGPT的项目引起了我的注意。乍一看这个标题&#xff0c;你可能会觉得有点“缝合怪”的味道——Burst通常指代计算资源的突发式使用或高性…...

开发者个人网站搭建指南:从静态站点生成器到部署实战

1. 项目概述&#xff1a;一个为开发者量身定制的“数字家园” 在代码的海洋里泡久了&#xff0c;我们开发者总会遇到一个不大不小的痛点&#xff1a;如何高效、优雅地展示自己的技术栈、项目作品和个人思考&#xff1f;GitHub的README.md固然是标配&#xff0c;但它更像一份静态…...

不止于校验:用HashMyFiles命令行玩转文件批量管理与VirusTotal联动

从本地到云端&#xff1a;HashMyFiles命令行与VirusTotal联动的安全自动化实践 在数字化时代&#xff0c;文件完整性校验和安全检测已成为IT运维、安全分析乃至日常开发中不可或缺的环节。传统图形界面工具虽然直观&#xff0c;但在处理大批量文件或需要自动化集成的场景下显得…...

Python3.8环境下的OpenOPC实战:从模拟服务器搭建到KEPServerEX数据读写一条龙

Python3.8环境下的OpenOPC实战&#xff1a;从模拟服务器搭建到KEPServerEX数据读写全流程指南 工业自动化领域的数据采集一直是开发者需要掌握的核心技能之一。对于没有硬件设备或OPC服务器许可的学习者来说&#xff0c;如何在本地搭建完整的测试环境成为入门的第一道门槛。本文…...

Apache SeaTunnel 4 月有何新动作?连接器增强与 Zeta 稳定性提升等亮点速览

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

从图文对到通用视觉:CLIP如何用对比学习重塑多模态预训练范式

1. 从图文匹配到通用视觉&#xff1a;CLIP的颠覆性思路 第一次看到CLIP模型时&#xff0c;我正为一个老问题头疼&#xff1a;训练好的图像分类器遇到新类别就直接"罢工"。比如用猫狗数据集训练的模型&#xff0c;突然给它看一只考拉&#xff0c;结果只会输出"猫…...

Icarus Verilog终极指南:3分钟掌握开源Verilog仿真工具

Icarus Verilog终极指南&#xff1a;3分钟掌握开源Verilog仿真工具 【免费下载链接】iverilog Icarus Verilog 项目地址: https://gitcode.com/gh_mirrors/iv/iverilog 你是否正在寻找一个完全免费、跨平台的Verilog仿真解决方案&#xff1f;Icarus Verilog&#xff08;…...