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

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生成配置文件&#xff0c;其中OPENCV_EXTRA_MODUL…...

Windows 11 家庭中文版添加本地安全策略

一、报错 Windows11中打开本地组策略编辑器(cmd中输入gpedit.msc)&#xff0c;报错&#xff1a; 二、解决 1、新建txt文件&#xff0c;文件名任意&#xff0c;将下面的内容复制粘贴进去。2、将文件后缀名由txt改为cmd。3、以管理员身份执行该cmd文件&#xff0c;安装本地安全…...

TCP三次握手四次挥手

一、三次握手 1.概念&#xff1a; 三次握手是指在建立一个TCP连接时&#xff0c;客户端和服务端一共会发送三个报文段。 Seq 序列号 保障传输过程可靠。 ACK &#xff08;确认消息&#xff09; SYN &#xff08;在建立TCP连接的时候使用&#xff09; FIN &#xf…...

C语言基础-结构体

结构体类型的声明 结构是一些值的集合&#xff0c;这些值称为成员变量&#xff0c;结构的每个成员可以是不同类型的变量 数组&#xff1a;一组相同类型元素的集合 结构体&#xff1a;其实是一组不一定相同类型元素的集合 //结构声明 // struct tag //tag根据实际情况给名字…...

Codeforces Round 848 (Div. 2)C

B. The Forbidden Permutation 一定要注意题目中说的是对于all i满足才算不好的&#xff0c;我们做的时候只要破坏一个i这个a就不算好的了,被这一点坑了&#xff0c;没注意到all。 #include <bits/stdc.h>using namespace std; typedef long long LL; const int N 2e5 …...

数据分发服务DDS

文章目录 DDS技术的特点和优势DDS数据分发服务在车载控制器上的应用 DDS技术的特点和优势 DDS&#xff08;Data Distribution Service&#xff09;技术是一种实时数据分发服务&#xff0c;它是一种基于发布/订阅模式的中间件&#xff0c;用于在分布式系统中实现高性能、可扩展…...

Linux 文件 目录管理 链接

Linux 文件 基本属性 Linux 系统是一种典型的多用户系统&#xff0c;为了保护系统的安全性&#xff0c;不同的用户拥有不同的地位和权限。Linux 系统对不同的用户访问同一文件&#xff08;包括目录文件&#xff09;的权限做了不同的规定。 可以使用命令&#xff1a;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…...

网络协议学习地图分享

最近在回顾网络知识点的时候&#xff0c;发现华为数通有关报文格式及网络协议地图神仙网站&#xff0c;这里涵盖了各个协议层及每个协议层对应的协议内容&#xff0c;最人性的化的一点是点击每个单独的协议可以跳转到该协议详细报文格式页面&#xff0c;有对应的说明和解释&…...

nlohmann/json——NLOHMANN_JSON_SERIALIZE_ENUM

目录 源码如下&#xff1a; 源码分析&#xff1a; 使用示例&#xff1a; 源码如下&#xff1a; /*! 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中的运算符重载&#xff0c;以及与运算符重载有关的三个默认默认成员函数&#xff1a;赋值运算符重载&#xff0c;普通对象取地址与const对象取地址操作符重载&#xff0c;也就是下面图片中6个默认成员函数的后三个&#xff0c;前三个默认成员函数在之前文章…...

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的使用

&#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Vue》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一定基础的程序员&#xff0c;这个专栏…...

将本地项目上传至Github详解

目录 1 前言2 本地代码上传2.1 命令行方法2.2 图形界面法2.3 结果 1 前言 GitHub是一个面向开源及私有软件项目的托管平台&#xff0c;因为只支持Git作为唯一的版本库格式进行托管&#xff0c;故名GitHub 。开发者常常将github作为代码管理平台&#xff0c;方便代码存储、版本…...

Vivado下PLL实验

文章目录 前言一、CMT&#xff08;时钟管理单元&#xff09;1、CMT 简介2、FPGA CMT 框图3、MMCM 框图4、PLL 框图 二、创建工程1、创建工程2、PLL IP 核配置3、进行例化 三、进行仿真1、创建仿真文件2、进行仿真设置3、进行行为级仿真 四、硬件验证1、引脚绑定2、生成比特流文…...

简单理解推挽输出和开漏输出

推挽输出原理图&#xff1a; 特点&#xff1a; 1、INT1时&#xff0c;OUTVDD&#xff1b;INT0时&#xff0c;OUTGND。 2、推挽输出的两种输出状态&#xff0c;一种是PMOS管S级端的电压VDD&#xff0c;一种是NMOS管S端的地GND。 开漏输出原理图&#xff1a; 特点&#xff1a; …...

C++之va_start、vasprintf、va_end应用总结(二百二十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

OpenCV自学笔记十一:形态学操作(一)

目录 1、腐蚀 2、膨胀 3、通用形态学函数 4、开运算 5、闭运算 1、腐蚀 腐蚀&#xff08;Erosion&#xff09;是数字图像处理中的一种形态学操作&#xff0c;用于消除图像中边界附近的细小区域或缩小对象的大小。腐蚀操作通过卷积输入图像与结构元素&#xff08;也称为腐…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...