Opencv 4.5.5 linux contrib编译
- https://github.com/opencv/opencv/releases https://github.com/opencv/opencv_contrib/releases/tag/4.7.0 版本要一模一样
- 下载4.5.5的源码
# 0. 将contrib文件夹移动到opencv文件夹中去
mkdir build
cd build# 1. cmake生成配置文件,其中OPENCV_EXTRA_MODULES_PATH的路径中写明contrib模块的路径
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.5/modules ..# 2. 编译和生成
make -j16
# 3. 安装
sudo make install # 将库拷贝到/usr/local中# 4. 生成配置文件
sudo gedit /etc/bash.bashrc # 文末添加以下内容
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH# 5.向系统更新配置文件
source /etc/bash.bashrc# 6. 生成opencv.conf文件,就可以利用pkg-config链接到库了
sudo gedit /etc/ld.so.conf.d/opencv.conf # 添加库的路径: /usr/local/lib
# 7. 更新pkg-config文件
sudo ldconfig
sudo updatedb# 8.测试是否安装好了
pkg-config --modversion opencv
pkg-config --libs opencv出现以下内容,说明安装成功了!
-L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core# 9. 测试程序
/home/helen/code/C++code/yolov5_zhr/main$ g++ main.cpp -o main `pkg-config --cflags --libs opencv`
/usr/bin/ld: 找不到 -lopencv_shape
/usr/bin/ld: 找不到 -lopencv_superres
/usr/bin/ld: 找不到 -lopencv_videostab
collect2: error: ld returned 1 exit status
出现的bug为没有编译contrib文件夹,重新编译contrib后再试:编译成功!
./main: error while loading shared libraries: libopencv_highgui.so.405: cannot open shared object file: No such file or directory
# 解决办法
sudo ldconfig # 更新一下库文件,因为刚刚才执行了 make install
main.cpp的代码如下:
#include <stdio.h>
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>int main(){// printf("hello world\n");cv::Mat img;img = cv::imread("/home/helen/dataset/boat/FN-frames/0a19.jpg");if(img.empty()){std::cout << "fail to read img" << std::endl;}cv::namedWindow("Image");cv::imshow("Image", img);cv::waitKey(0);return 0;
}
// g++ main.cpp -o main 编译并生成C++文件 -o是目标文件
// 执行main文件 "/home/helen/code/C++code/yolov5_zhr/"main

相关文章:
Opencv 4.5.5 linux contrib编译
https://github.com/opencv/opencv/releases https://github.com/opencv/opencv_contrib/releases/tag/4.7.0 版本要一模一样 下载4.5.5的源码 # 0. 将contrib文件夹移动到opencv文件夹中去 mkdir build cd build# 1. cmake生成配置文件,其中OPENCV_EXTRA_MODUL…...
Windows 11 家庭中文版添加本地安全策略
一、报错 Windows11中打开本地组策略编辑器(cmd中输入gpedit.msc),报错: 二、解决 1、新建txt文件,文件名任意,将下面的内容复制粘贴进去。2、将文件后缀名由txt改为cmd。3、以管理员身份执行该cmd文件,安装本地安全…...
TCP三次握手四次挥手
一、三次握手 1.概念: 三次握手是指在建立一个TCP连接时,客户端和服务端一共会发送三个报文段。 Seq 序列号 保障传输过程可靠。 ACK (确认消息) SYN (在建立TCP连接的时候使用) FIN …...
C语言基础-结构体
结构体类型的声明 结构是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量 数组:一组相同类型元素的集合 结构体:其实是一组不一定相同类型元素的集合 //结构声明 // struct tag //tag根据实际情况给名字…...
Codeforces Round 848 (Div. 2)C
B. The Forbidden Permutation 一定要注意题目中说的是对于all i满足才算不好的,我们做的时候只要破坏一个i这个a就不算好的了,被这一点坑了,没注意到all。 #include <bits/stdc.h>using namespace std; typedef long long LL; const int N 2e5 …...
数据分发服务DDS
文章目录 DDS技术的特点和优势DDS数据分发服务在车载控制器上的应用 DDS技术的特点和优势 DDS(Data Distribution Service)技术是一种实时数据分发服务,它是一种基于发布/订阅模式的中间件,用于在分布式系统中实现高性能、可扩展…...
Linux 文件 目录管理 链接
Linux 文件 基本属性 Linux 系统是一种典型的多用户系统,为了保护系统的安全性,不同的用户拥有不同的地位和权限。Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 可以使用命令:ll 或 ls –…...
R统计绘图-线性混合效应模型详解(理论、模型构建、检验、选择、方差分解及结果可视化)
目录 一、 基础理论 二、数据准备 三、构建线性混合效应模型(LMMs) 3.1 lme4线性混合效应模型formula 3.2 随机截距模型构建及检验 3.3 随机截距模型分析结果解释及可视化 3.4 随机斜率模型构建、检验及可视化 四、线性混合效应模型选择 4.1 多模型比较 4.2 模型最优子…...
钾和钠含量
声明 本文是学习GB-T 397-2022 商品煤质量 炼焦用煤. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了炼焦用商品煤产品质量等级和技术要求、试验方法、检验规则、标识、运输及贮存。 本文件适用于生产、加工、储运、销售、使用…...
Linux离线安装elasticsearch|header|kibna插件最详细
1.准备软件安装包 [hadoophost152 elasticsearch]$ ll -rw-r--r--. 1 hadoop hadoop 515807354 9月 23 23:40 elasticsearch-8.1.1-linux-x86_64.tar.gz -rw-r--r--. 1 hadoop hadoop 1295593 9月 23 23:48 elasticsearch-head-master.tar.gz -rw-r--r--. 1 hadoop hadoop…...
网络协议学习地图分享
最近在回顾网络知识点的时候,发现华为数通有关报文格式及网络协议地图神仙网站,这里涵盖了各个协议层及每个协议层对应的协议内容,最人性的化的一点是点击每个单独的协议可以跳转到该协议详细报文格式页面,有对应的说明和解释&…...
nlohmann/json——NLOHMANN_JSON_SERIALIZE_ENUM
目录 源码如下: 源码分析: 使用示例: 源码如下: /*! brief macro to briefly define a mapping between an enum and JSON def NLOHMANN_JSON_SERIALIZE_ENUM since version 3.4.0 */ #define NLOHMANN_JSON_SERIALIZE_ENUM(EN…...
类和对象:运算符重载
本篇文章来介绍一下C中的运算符重载,以及与运算符重载有关的三个默认默认成员函数:赋值运算符重载,普通对象取地址与const对象取地址操作符重载,也就是下面图片中6个默认成员函数的后三个,前三个默认成员函数在之前文章…...
Vue中使用VueAMap
npm 安装 npm install vue-amap --save注册:高德地图 // 在main.js中注册:高德地图 import VueAMap from "vue-amap"; Vue.use(VueAMap); VueAMap.initAMapApiLoader({key: "你的高德key",plugin: ["AMap.AutoComplete", //输入提示插件"A…...
Vue中的路由介绍以及Node.js的使用
🏅我是默,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Vue》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这个专栏…...
将本地项目上传至Github详解
目录 1 前言2 本地代码上传2.1 命令行方法2.2 图形界面法2.3 结果 1 前言 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub 。开发者常常将github作为代码管理平台,方便代码存储、版本…...
Vivado下PLL实验
文章目录 前言一、CMT(时钟管理单元)1、CMT 简介2、FPGA CMT 框图3、MMCM 框图4、PLL 框图 二、创建工程1、创建工程2、PLL IP 核配置3、进行例化 三、进行仿真1、创建仿真文件2、进行仿真设置3、进行行为级仿真 四、硬件验证1、引脚绑定2、生成比特流文…...
简单理解推挽输出和开漏输出
推挽输出原理图: 特点: 1、INT1时,OUTVDD;INT0时,OUTGND。 2、推挽输出的两种输出状态,一种是PMOS管S级端的电压VDD,一种是NMOS管S端的地GND。 开漏输出原理图: 特点: …...
C++之va_start、vasprintf、va_end应用总结(二百二十六)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...
OpenCV自学笔记十一:形态学操作(一)
目录 1、腐蚀 2、膨胀 3、通用形态学函数 4、开运算 5、闭运算 1、腐蚀 腐蚀(Erosion)是数字图像处理中的一种形态学操作,用于消除图像中边界附近的细小区域或缩小对象的大小。腐蚀操作通过卷积输入图像与结构元素(也称为腐…...
Python MCP服务器开发模板演进史(2026 LTS版首次开源:含OpenTelemetry 1.28+LLM Gateway内核)
第一章:Python MCP服务器开发模板2026 LTS版核心定位与演进动因 Python MCP(Modular Control Protocol)服务器开发模板2026 LTS版并非一次简单版本迭代,而是面向工业级长周期运维场景的战略性重构。其核心定位是构建**可验证、可审…...
彻底搞懂 JavaScript 运行环境:从引擎到宿主,一网打尽
你可能每天都在写 JS,但你知道你的代码到底是怎么跑起来的吗?对于前端/全栈开发者来说,JavaScript 早已不再是那个只能在浏览器里点点按钮的“玩具语言”。如今,它跑在服务器、桌面、手机、甚至微控制器上。但无论跑在哪里&#x…...
四旋翼姿态解算实战:MahonyAHRS算法中的初始姿态角优化策略
1. 四旋翼姿态解算与MahonyAHRS算法基础 四旋翼飞行器的姿态解算是飞行控制系统的核心环节,它直接决定了飞行器的稳定性和操控性。简单来说,姿态解算就是通过传感器数据计算出飞行器当前的俯仰、横滚和偏航角度。这就像我们人类闭着眼睛也能感知自己身体…...
Elasticsearch RTF安全配置终极指南:X-Pack安装与免费License申请教程
Elasticsearch RTF安全配置终极指南:X-Pack安装与免费License申请教程 【免费下载链接】elasticsearch-rtf elasticsearch中文发行版,针对中文集成了相关插件,方便新手学习测试. 项目地址: https://gitcode.com/gh_mirrors/el/elasticsearc…...
新手友好:借助快马平台从零复刻w777.7cc经典小游戏
作为一个刚接触编程的新手,最近在InsCode(快马)平台尝试复刻w777.7cc经典小游戏时,发现整个过程比想象中简单许多。这种翻牌匹配类游戏规则明确、交互直观,特别适合用来理解前端三件套(HTML/CSS/JavaScript)的协作逻辑…...
ONNX Runtime性能优化:InferenceSession.run函数的高效使用技巧
1. ONNX Runtime与InferenceSession.run函数基础 ONNX Runtime是一个高性能的推理引擎,专门用于部署ONNX格式的机器学习模型。在实际应用中,模型的推理性能往往直接影响整个系统的响应速度和资源利用率。而InferenceSession.run函数正是这个过程中的核心…...
脑波版权战争:EEG数据生成音乐的侵权迷局与软件测试从业者的专业审视
一场源于“思想”的诉讼当音乐不再仅仅诞生于琴弦的振动或声带的共鸣,而是直接源自人类脑电波(EEG)的细微起伏时,一场前所未有的版权战争悄然拉开了序幕。近期,数起围绕“用EEG数据生成的音乐”的侵权诉讼,…...
3大核心功能解锁植物大战僵尸无限可能:PvZ Toolkit完全指南
3大核心功能解锁植物大战僵尸无限可能:PvZ Toolkit完全指南 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 你是否曾在植物大战僵尸的生存模式中苦于资源不足?是否想过保存完…...
libhv实战:从零构建一个可扩展的微型HTTP服务器
1. 为什么选择libhv构建微型HTTP服务器 第一次接触libhv这个网络库时,我正为一个物联网项目寻找轻量级的HTTP解决方案。当时试过不少开源框架,要么太臃肿,要么性能不达标,直到发现libhv的tinyhttpd示例——不到400行代码就实现了完…...
智慧算力枢纽中心建设方案:从“烟囱林立”到“云网融合”的数字化重构(PPT)
摘要:本文基于《智慧算力枢纽中心建设方案》,深度剖析了在数字经济爆发式增长背景下,如何通过“云-网-端”一体化架构解决传统IT基础设施“资源孤岛、运维割裂、安全脆弱”的行业痛点。文章详细阐述了从传统服务器向全栈资源池化演进的技术路…...
