ubuntu22.04 OpenCV4.6.0(c++)环境配置

ubuntu22.04 OpenCV4.6.0(c++)环境配置

前置依赖安装

sudo apt install -y g++ make wget unzip
sudo apt install -y libssl-dev build-essential
sudo apt install -y pkg-config

CMake安装

方法一(源码安装)

下载地址:https://cmake.org/download/
在这里插入图片描述
进入cmake目录cd cmake-***

执行:

./bootstrap

编译构造:

make

安装:

sudo make install

检查:
1.查看cmake版本: cmake --version
2.查看cmake位置: which cmake

方法二(省时)
sudo apt-get install -y cmake

下载OpenCV-4.6.0

官网链接
在这里插入图片描述

下载依赖

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev  
可能遇到的问题

下载依赖报错,镜像源问题。

下列软件包有未满足的依赖关系:
libc6-dev : 依赖: libc6 (= 2.27-3ubuntu1.6) 但是 2.35-0ubuntu3 正要被安装
依赖: libc-dev-bin (= 2.27-3ubuntu1.6)

参考博客:最新ubuntu22.04 下列软件包有未满足的依赖关系 解决方案

1.sudo gedit /etc/apt/sources.list
2.将如下内容复制进去:

#阿里源
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

3.更新镜像源

sudo apt-get update
sudo apt-get upgrade

4.重复安装尝试

编译安装OpenCV

  1. 创建build目录
cd opencv-4.6.0
mkdir -p build
cd build

在这里插入图片描述

  1. 执行cmake命令:
cmake -DCMAKE_BUILD_TYPE=Release \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local ..
  1. 编译:
sudo make -j 4

使用4个线程进行编译,可以一定程度上加快编译速度

  1. 安装:
sudo make install

环境配置

参考博客

  1. 打开文件:
    sudo gedit /etc/ld.so.conf.d/opencv.conf
  2. 写入:
    /usr/local/lib
  3. 更新系统共享链接库:
    sudo ldconfig
  4. 打开bashrc文件:
    sudo gedit /etc/bash.bashrc
  5. 写入如下内容:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
  1. 更新,source /etc/bash.bashrc
配置pkg-config环境(补充)

opencv4.pc文件的默认路径:/usr/local/lib/pkgconfig/opencv4.pc.若此目录下没有,可以使用以下命令搜索 sudo find / -iname opencv4.pc
执行sudo gedit /etc/profile.d/pkgconfig.sh
可能为空文件,在文件中加入PKG_CONFIG_PATH下面一行代码

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

保存并退出,source激活source /etc/profile

验证是否安装成功

pkg-config --modversion opencv4

如下图,安装成功:
在这里插入图片描述

编写例程测试

新建文件夹digital
创建文件:

touch CMakeLists.txt
mkdir -p build
mkdir -p img
mkdir -p src

源码放在src目录下
在这里插入图片描述

demo.cpp

#include<opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include<iostream>

using namespace std;
using namespace cv;

Mat src;

int main(int argc, char ** argv)
{
        src = imread("/home/luffy/digital/img/luffy14.jpg");//这里是你的图片
        if (src.empty())
        {
		cout << "没有读取到图像" << endl;
		return -1;
        }
        imshow("hello", src);
        waitKey(0);
        return 0;
}

编写CMakeLists.txt文件

供参考:

cmake_minimum_required(VERSION 2.8)
project( digital )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( demo src/demo.cpp )
add_executable( dctimg src/dctimg.cpp )
add_executable( rgbdctimg src/rgbdctimg.cpp )
target_link_libraries( demo ${OpenCV_LIBS} )
target_link_libraries( dctimg ${OpenCV_LIBS} )
target_link_libraries( rgbdctimg ${OpenCV_LIBS} )

编译运行

cd build
cmake ..
make
./demo # 执行

在这里插入图片描述

Over

  • 20
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路飞DoD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值