ubuntu下编译opencv

news2024/12/24 20:59:31

目录

1. 下载opencv和opencv-contrib

2. 安装依赖

3. cmake

4. make

5. 安装

6. 配置opencv的路径

7. 测试

 后续


1. 下载opencv和opencv-contrib

https://github.com/opencv/opencv/archive/refs/tags/4.6.0.zip

https://github.com/opencv/opencv_contrib/archive/refs/tags/4.6.0.zip

2. 安装依赖

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libgtk-3-dev libgtkglext1-dev libgstreamer1.0-dev libavresample-dev  libgphoto2-dev libopenblas-dev libatlas-base-dev doxygen libgstreamer-ocaml-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer1.0-dev libgstreamermm-1.0-dev libtesseract-dev liblept5 libleptonica-dev liblapacke-dev libgstreamer-opencv1.0-0 libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamerd-3-dev libgstreamermm-1.0-dev libv4l-dev libprotobuf-dev libhdf5-dev libgflags-dev python3-numpy

3. cmake

cd opencv-4.6.0/
mkdir release
cd release/

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv460 -D OPENCV_EXTRA_MODULES_PATH=/home/zxq/code/c++/opencv_contrib-4.6.0/modules ..

结果如下。

 4. make

make -j 12

 结果如下。

5. 安装

sudo make install 

 结果如下。

 右上可知,opencv被安装在/usr/local/opencv460/

6. 配置opencv的路径

sudo gedit /etc/ld.so.conf.d/opencv.conf

添加内容:
/usr/local/opencv460/lib

再sudo一下使配置路径生效
sudo ldconfig 



7. 测试

cd到opencv测试用例目录。

cd samples
cd cpp
cd example_cmake
cmake .

结果如下。

make
./opencv_example

结果如下。

 

出现这个弹窗,说明安装成功。


 后续

在ubuntu 下使用CodeBlock配置Opencv

(1)settings->compiler->global compiler settings ->compiler Flags

勾选 Target x86_64 (64bit) [-m64]

(2)global compiler settings ->Search directories->Compiler

add 包含目录。

/usr/local/opencv460/include
/usr/local/opencv460/include/opencv4
/usr/local/opencv460/include/opencv4/opencv2

(3)global compiler settings ->Search directories->Linker

add 库文件路径。

/usr/local/opencv460/lib

(4)global compiler settings ->Linker settings

add 库文件。点击add然后如下全选。

 新建工程:File->New->Projects->Opencv project

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python两种方式实现读写航拍影像JPG图片的GPS坐标

写入坐标效果 读取坐标效果 1、写入JPG坐标数据 1.1、准备数据 gps坐标文件 图片 可以查看它的属性中目前并没有坐标信息 1.2、执行脚本 第一种方法(piexif) writegps2jpg_piexif.py import csv,os import

KubeEdge云原生边缘计算公开课04——云原生边缘计算学术研究现状与趋势

KubeEdge云原生边缘计算公开课04——云原生边缘计算学术研究现状与趋势Ding Yin & 徐飞:KubeEdge架构与技术解读1. 边缘计算的形态定义与关键挑战2. 云原生边缘计算的优势与挑战3. KubeEdge核心架构4. KubeEdge关键技术5. KubeEdge社区介绍Ding Yin & 徐飞&…

JavaSE笔记——流式编程

文章目录前言一、从外部迭代到内部迭代二、实现机制三、常用的流操作1.collect(toList())2.map3.filter4.flatMap5.max和min6.reduce四、多次调用流操作五、高阶函数总结前言 流是一系列与特定存储机制无关的元素——实际上,流并没有 “存储” 之说。利用流&#x…

火山引擎 DataTester:如何做 A/B 实验的假设检验作者:字节跳动数据平台

A/B 实验的核心统计学理论是(双样本)假设检验,是用来判断样本与样本、样本与总体的差异是由 抽样误差 引起还是 本质差别 造成的一种统计推断方法。 假设检验,顾名思义,是一种对自己做出的假设进行数据验证的过程。通…

STM32CUBEMX_SDIO和FATFS_读写SD卡

STM32CUBEMX_SDIO和FATFS_读写SD卡 简述 FATFS是一个完全免费开源,专为小型嵌入式系统设计的FAT(File Allocation Table)文件系统模块。FATFS的编写遵循ANSI C,并且完全与磁盘I/O层分开。支持FAT12/FAT16/FAT32,支持多…

Django入门

Django 中文官网:初识 Django | Django 文档 | Django (djangoproject.com) Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部…

Python 学习笔记001-发布

Python 学习笔记001-发布Python如何发布为EXE文件发给别人装X0 我的开发环境Step 1 安装PyInstaller包Step2 打包Python文件Step 3 运行Python程序Step 4 最后附上Atm.py的代码Python如何发布为EXE文件发给别人装X 0 我的开发环境 Python : 3.10 PyCharm:2022.03 社区版 Ste…

VIAVI唯亚威光纤高分辨率多模 OTDR 测试方案

VIAVI Solutions 高分辨率多模 OTDR 测试方案设计用于飞机、宇宙飞船、潜艇和舰船中部署的超短多模光纤的特性分析和故障定位 高分辨率多模 OTDR 测试方案是业界紧凑、轻巧的便携装置。它的用户界面经过专门设计,简化了 OTDR 测试和结果读取。 特点 紧凑、轻巧、现…

Oracle --- 视图 索引 语法结构

目录 视图 概念 优点 创建视图 查看视图 ​修改视图 删除视图 索引 概念 分类 普通索引 唯一索引 复合索引 反向键索引 位图索引 存储函数 概念 语法结构 视图 概念 视图 是一种数据库对象,是从 一个或者多个 数据表或视图中导出的 虚表。 视图所…

C#,图像二值化(07)——全局阈值的迭代算法及其源代码

1、 全局阈值的迭代算法 图像阈值分割---迭代算法 (1) 为全局阈值选择一个初始估计值T(图像的平均灰度)。 (2) 用T分割图像。产生两组像素:G1有灰度值大于T的像素组成,G2有小于等于T像素组成。 (3) 计算G1和G2像素的平均灰度值m1和m2; (4) …

机器学习笔记之Sigmoid信念网络(二)醒眠算法

机器学习笔记之Sigmoid信念网络——醒眠算法引言回顾Sigmoid\text{Sigmoid}Sigmoid信念网络的模型表示Sigmoid\text{Sigmoid}Sigmoid信念网络——对数似然梯度求解过程中的问题醒眠算法基于平均场假设变分推断求解后验概率平均场理论求解后验的弊端醒眠算法引言 上一节介绍了对…

jsp+servlet+mysql实现的在线图书商城源码附带论文开题报告及视频指导教程

今天给大家演示的是一款由jspservletmysql实现的在线图书商城系统,主要分为前台后后台管理员功能,前台用户可以浏览查看各类图书信息,可自定义搜索,注册登录后可以将书添加到购物车,购物车中的商品可以提交订单&#x…

【复习笔记】JavaWeb实验重点代码

JavaWeb实验重点代码笔记 一、课上练习题目汇总(部分) 题目一 基础HTML、CSS和JavaScript 1.1 问题要求 页面上有下拉菜单、文本框、跳转按钮并排放置,当下拉菜单选中某个具体网站名称时,文本框出现其对应的链接地址&#xff0…

Linux环境下vs code中Markdown与PlantUML联合工作

PlantUML是一个可以让你快速编写UML图的组件。 在线服务器 https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000 Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写…

零膨胀泊松回归案例分析

零膨胀泊松回归分析 计数研究模型中,常用泊松回归模型,但泊松回归模型理论上是要求平均值与标准差相等,如果不满足,则可使用负二项回归模型 在实际研究中,会出现一种情况即因变量为计数变量,并且该变量包…

Lua闭包和Upvalue上值

一、lua中的作用域 在Lua语言中声明的变量默认是全局变量,声明局部变量需要使用local关键字,和其他语言相比这有点特殊。 -- 全局变量 a 10function func()b 100 -- 仍然是全局变量local c 20 -- func的局部变量 end func()print(a b) -- 输出…

终极.NET混淆器丨.NET Reactor产品介绍

无与伦比的 .NET 代码保护系统,可完全阻止任何人反编译您的代码。 产品优势 01、混淆技术 .NET Reactor通过向 .NET 程序集添加不同的保护层来防止逆向工程。除了标准的混淆技术之外,它还包括NecroBit、虚拟化、x86代码生成或防篡改等特殊功能。NET Re…

xilinx srio ip学习笔记之初识srio

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 xilinx srio ip学习笔记之初识srio前言IP 设置总结前言 因为工作原因,需要对rapidio 的协议进行了解,在xilinx的IP核中,是对应着Serial R…

这支隐藏“球队”,颠覆消费品「赛场」

【潮汐商业评论/原创】 大好的黄金周末,Fred约了几个朋友来家里看球。按照他的计划,周五准备下班后,他赶紧得去一趟附近的大型超市扫货,买一批零食酒水招待朋友。没想到的是,好不容易等到快下班了,领导通知…

外包呆一年,外包的工作经历怎么写?外包的项目经验怎么写?

0. 先来看下大家的各种问题? 外包的工作经历怎么写?外包的项目经验怎么写?外包如何优化简历?进入外包后黑化了简历,如何成功跳出外包圈?外包该如何提升自己?外包仔如何自我救赎? ……