【小白推荐】安装OpenCV4.8 系统 Ubuntu 22.04LST Linux.

2023-11-29 08:52

本文主要是介绍【小白推荐】安装OpenCV4.8 系统 Ubuntu 22.04LST Linux.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先看一下目录,知道大致的流程!

文章目录

  • 安装OpenCV
    • 安装依赖
    • 下载源码
    • 配置与构建
    • 安装
  • 测试
    • 编写CMakeListx.txt
    • 编写测试代码

安装OpenCV

安装依赖

sudo apt update && sudo apt upgrade
sudo apt install cmake ninja-build build-essential libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
# 下载安装工具
sudo apt install wget unzip git -y 

下载源码

# 找个位置
mkdir ~/installer && cd ~/installerwget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
unzip opencv.zip #解压

配置与构建

# 创建build文件夹
mkdir build && cd build# 配置
cmake ../opencv-4.x -DCMAKE_INSTALL_PREFIX=~/CLionProjects/detect/opencv # 指定安装到项目当中,可以修改为你的项目路径# 构建
ninja -j16 # 也可以使用make构建,ninja更快
#make -j16  #j开启多线程指定核心数

安装

刚刚配置的时候指定了安装目录,如果想修改安装目录,删除build。重新上一步。

卸载方法就是直接删除安装目录的文件。

ninja install

测试

编写CMakeListx.txt

我使用的CLion. 在项目根目录下新建CMakeLists.txt编写。

cmake_minimum_required(VERSION 3.22)
project(detect)
set(CMAKE_CXX_STANDARD 17)# 设置opencv路径,填写配置文件的路径
set(OpenCV_DIR ${PROJECT_SOURCE_DIR}/opencv/lib/cmake/opencv4)# 然后利用find就可以搜到项目中的opencv
find_package(OpenCV REQUIED) 
# find配置文件后可以使用opencv的各种变量# 包含头文件
include_directories(${OpenCV_INCLUDE_DIRS})#### >>>>>>>>>
# 添加源代码和头文件
file(GLOB SOURCES "src/*cpp" "inlcude/*cpp")
# 定义可执行文件
add_executable(detect ${SOURCES}) 
#### <<<<<<<<<<# 链接Opencv 库
target_link_libraries(detect ${OpenCV_LIBS})

编写测试代码

先点击右上角build,然后run

#include <iostream>
#include <opencv2/opencv.hpp>int main(int argc, char* argv[]) {printf("Hello world\n");std::cout << "OpenCV version: " << CV_VERSION << std::endl;return 0;
}

这篇关于【小白推荐】安装OpenCV4.8 系统 Ubuntu 22.04LST Linux.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/432203

相关文章

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素