ubuntu系统下opencv的编译安装

embedded/2024/9/24 10:30:39/

ubuntuopencv_0">ubuntu系统下opencv的编译安装

参考https://blog.csdn.net/KIK9973/article/details/118830187

1 安装准备

1.1安装依赖环境(Ubuntu18.04)

下载opencv的依赖,其中第三行的依赖是可选的,前两行的依赖则是必要的。

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev

1.2下载源码

https://opencv.org/releases/

1.3.可以将源码放在任意目录,解压

cd /mnt/d/tools
unzip -o -d ~/. opencv-4.8.0.zip

2 安装

2.1编译

2.1.1 cmake

cd ~/opencv-4.8.0
mkdir -p build 
cd ./build
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_ENABLE_NONFREE=True -D ENABLE_CXX11=1 ..

2.1.2 make

nproc #查看线程数
sudo make -j16    #在build 文件内 执行该命令  数字越大 后续make的过程就越快。
sudo make install

2.2 环境配置

2.2.1 修改etc/bash.bashrc

#打开下列文件
sudo vim /etc/bash.bashrc
#文件末尾添加以下内容 并保存
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
#更新
sudo updatedb
source /etc/bash.bashrc

2.2.2 修改动态链接库

#打开下列文件
sudo vim /etc/ld.so.conf.d/opencv.conf 
# 添加lib路經 在 末尾 保存退出
/usr/local/lib
# 更新
sudo ldconfig

报错: /sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

解决方案:

cd /usr/lib/wsl
sudo mkdir lib2
sudo ln -s lib/* lib2
#更改wsl配置文件,将 /usr/lib/wsl/lib 改为 /usr/lib/wsl/lib2
sudo vim /etc/ld.so.conf.d/ld.wsl.conf
#测试修改是否生效
sudo ldconfig#永久修改(有时候会报权限问题,直接手动在文件后面加那两行)
sudo cat >> /etc/wsl.conf << EOF
[automount]
ldconfig = fasle
EOF

3 检查安装情况

1.命令行查看安装情况

#终端输入以下两命令,显示正常则安装成功
pkg-config --modversion opencv4 #查看版本号
pkg-config --libs opencv4 #查看libs库

4.程序测试
opencv在下载时已经提供了测试程序

cd ~/opencv-4.8.0/samples/cpp/example_cmake
mkdir build
cd ./build
cmake ..
make
./opencv_example ## 生成一个可执行文件 拖入终端执行 也可

http://www.ppmy.cn/embedded/3523.html

相关文章

Flutter 插件站新升级: 加入优秀 GitHub 开源项目

Flutter 插件站新升级: 加入优秀 GitHub 开源项目 视频 https://youtu.be/qa49W6FaDGs https://www.bilibili.com/video/BV1L1421o7fV/ 前言 原文 https://ducafecat.com/blog/flutter-awesome-github-repo-download 这几天晚上抽空把 Flutter 插件站升级&#xff0c;现在支…

服务器清理挖矿问题

top -c ps -ef netstat -antp # 查所有端口链接 ls -al /proc/$PID/exe # 查执行文件 kill -9 $PID # 杀进程 // 查文件 /usr/lib/systemd/system /usr/lib/systemd/system/multi-user.target.wants /etc/rc.local /etc/inittab /etc/rc0.d/ /etc/rc1.d/ /etc/rc2.d/…

分布式锁(Redis)

一、序言 本文和大家聊聊分布式锁以及常见的解决方案。 二、什么是分布式锁 假设一个场景&#xff1a;一个库存服务部署在上面三台机器上&#xff0c;数据库里有 100 件库存&#xff0c;现有 300 个客户同时下单。并且这 300 个客户均摊到上面的三台机器上&#xff08;即三台…

Python:腾讯云-轻量应用服务器-实现自动快照

Python&#xff1a;腾讯云-轻量应用服务器-实现自动快照 – WhiteNights Site 先说一下配置情况&#xff1a;轻量应用服务器一块系统盘。我没钱加盘&#xff0c;所以不知道多块盘的情况下这个脚本还能不能用。 官方文档给的代码已经很齐全了&#xff0c;只需要做点补充就能直…

MyBatis使用PageHelper分页插件

1、不使用PageHelper分页插件 模块名&#xff1a;mybatis-012-page CarMapper接口package org.example.mapper;import org.apache.ibatis.annotations.Param; import org.example.pojo.Car;import java.util.List;public interface CarMapper {/*** 分页查询* param startInd…

Windows11+Ubuntu20.04系统重装(升级为Ubuntu22.04)

事情起因是标题所对应的双系统中&#xff0c;Ubuntu老自动断电关机&#xff0c;一开始是跑大型程序才会关机&#xff0c;这两天愈演愈烈变成运行一个远程控制或者VSCode就会关机。一怒之下找了Dell在线客服&#xff0c;在对方引导下检测了硬件系统&#xff0c;发现没有明显故障…

Docker搭建Emby

Emby是一款媒体服务器应用程序&#xff0c;与Plex和Kodi等服务类似&#xff0c;它允许用户整理个人媒体库&#xff08;包括视频、音频和图片&#xff09;&#xff0c;并通过网络流式传输到各种设备上。用户可以在家庭网络内或通过互联网远程访问媒体库&#xff0c;Emby还能自动…

文件名批量改名,高效将文件名里的符号进行替换删除掉,实现文件名的高效管理

在信息爆炸的时代&#xff0c;我们每天都在与大量的文件打交道。从工作文档到个人照片&#xff0c;从视频剪辑到音频录音&#xff0c;每个文件背后都承载着我们的辛勤付出和美好回忆。然而&#xff0c;随着文件数量的不断增加&#xff0c;如何高效管理这些文件成为了一个亟待解…