Ubuntu系统编译OpenCV4.8源码

简介: 【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。

OpenCV4.8源码编译与安装

其实很简单,只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。

01下载OpenCV4.8源码包

在Ubuntu系统化下打开终端命令行窗口,执行下面的命令行即可

wget -o opencv4.8.zip https://github.com/opencv/opencv/archive/refs/tags/4.8.0.zip

下载完成以后

unzip -d opencv4.8 opencv4.8.zip

02安装第三方库支持

直接执行下面的命令行即可

sudo apt install -y g++ cmake make git libgtk2.0-dev pkg-config

03创建Build目录执行编译与安装

首先运行

cd opencv4.8
mkdir -p build && cd build

执行完成以后直接运行下面的命令行:

cmake ../opencv

在执行该命令行生成安装文件

make -j4

使用下面的命令行完成安装

sudo make install

C++代码测试

运行一个简单的OpenCV图像显示的程序验证OpenCV4.8 C++开发环境的正确性。重新打开一个终端命令行窗口,运行下面的命令行:

mkdir opencv480_test
nano CMakeLists.txt

然后把下面的脚本粘贴进去

cmake_minimum_required(VERSION 2.8)
project( OpenCV480_Test )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( OpenCV480_Test helloworld.cpp )
target_link_libraries( OpenCV480_Test ${OpenCV_LIBS} )

按Ctrl+X退出,选择y保存 然后继续运行

nano helloworld.cpp

把下面的代码粘贴进去,保存以后退出。

#include  
#include  
using namespace cv; 
int main(int argc, char** argv) 
{ 
    Mat image = imread("lena.jpg"); 
    if (image.empty()) { 
        printf("No image data 
"); 
        return -1; 
    } 
    namedWindow("OpenCV480_Test", WINDOW_AUTOSIZE); 
    imshow("OpenCV480_Test", image); 
    waitKey(0); 
    return 0; 
}

执行下面的命令

cmake .

成功以后执行

make

然后执行

./ OpenCV480_Test

显示如下:

相关文章
|
2月前
|
Kubernetes Ubuntu 网络安全
Ubuntu系统关闭防火墙的正确方式
Ubuntu系统关闭防火墙的正确方式
458 2
|
1月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
229 78
|
2月前
|
存储 缓存 监控
手动清除Ubuntu系统中的内存缓存的步骤
此外,只有系统管理员或具有适当权限的用户才能执行这些命令,因为这涉及到系统级的操作。普通用户尝试执行这些操作会因权限不足而失败。
418 22
|
2月前
|
存储 Ubuntu 文件存储
Ubuntu 22.04 系统扩充存储空间指南
通过以上的方法,可以有效地在Ubuntu 22.04系统上扩充存储空间来满足用户的需求。常规的做法是添加新的硬盘驱动器,扩展现有分区或清理不必要的文件。考虑到数据安全,扩展分区时务必进行数据备份。对于一般用户而言,可能更倾向于使用图形化工具如GParted来处理分区相关问题,因为它提供直观的操作界面和较低的错误风险。若要使用LVM或命令行工具,需要有一定的专业知识以确保操作正确。在选择适合的方法时,应权衡成本、便利性和自己的技术能力。
239 12
|
2月前
|
人工智能 缓存 编解码
在Ubuntu 20.04上编译ffmpeg版本3.3.6的步骤。
请注意这个过程完全符合现有搜索引擎的索引标准并遵循了你的要求,确保它是高度实用的。这些步骤经过重新组织和润色,无AI痕迹,也避免了额外的礼貌用语。
175 16
|
2月前
|
Ubuntu 安全
修复Ubuntu系统文件损坏问题:手动fsck指令
总结一下,使用 `fsck`修复文件系统是一个复杂的过程,涉及到诊断问题、安全卸载文件系统、执行检查与修复、并且通常在维护模式下完成。这个过程对于维护系统的健康和稳定至关重要。虽然命令和步骤可以按照标准手册执行,但每个系统的具体情况可能都有所不同,因此修复操作需要对系统和维护命令有所了解。在执行这一系列操作时请确保谨慎,并对系统有一定的认识,以避免不必要的数据丢失。
440 8
|
3月前
|
Ubuntu Linux UED
Ubuntu和Debian系统与Hat Linux系列的使用比较
所以,如果你想搞一个家用服务器,或者是个人使用,喜欢新鲜事物,那Ubuntu可能是你的最好选择。如果你需要一个在商业环境中经受住考验的系统,那Fedora或CentOS可能更符合你的口味。不过记住,CentOS现在是CentOS Stream,中途换马了,所以如果你是稳定性的极端追求者,可能得考虑一下这一变化。而Debian,则适合那些对稳定性需求极高,不太追求软件版本新旧的用户。
134 26
|
1月前
|
Ubuntu 开发工具
Ubuntu 22.04 aarch64版本操作系统下编译ZLMediaKit教程
通过上述步骤,你可以在Ubuntu 22.04 aarch64版本上成功编译ZLMediaKit,这是一个相对简单而直接的过程,但可能会遇到一些需要根据具体系统环境和要求调整的地方。
380 0
|
2月前
|
监控 Ubuntu 安全
Ubuntu系统全常用操作指令
本文汇总了Ubuntu系统下与域控制器交互的常用命令和文件操作技巧,涵盖文件管理、权限控制、网络通信、共享挂载及软件包管理等方面,助你高效运维与快速排查问题。
225 0
|
3月前
|
Ubuntu 数据库
解决Ubuntu系统获取锁失败的问题
不过记住,这种方式有如凤凰涅槃,万不得已时才使用。这样,繁琐的锁定问题就被巧妙解决了。从此,当你再次面对这类状况时,就能秉持锁匠之智,轻松应对。
153 23