ubuntu22.04+opencv4.9+opencv_contrib-4.9

1.安装依赖项

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev

2.下载opencv源码

https://opencv.org/releases/
找到OpenCV – 4.9.0下载Sources
然后解压

3.开始编译

$ cd opencv-4.9.0
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
$ make -j8
$ sudo make install  // 必须加sudo

4.将OpenCV的库添加到路径

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

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

/usr/local/lib

执行如下命令使得刚才的配置路径生效:

$ sudo ldconfig 

5.配置bash

$ sudo gedit /etc/bash.bashrc

在末尾追加:

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

保存,执行如下命令使得配置生效:

$ source /etc/bash.bashrc

更新:

$ sudo updatedb

配置pkg-config环境(补充)----有什么作用不太确定?

opencv4.pc文件的默认路径:/usr/local/lib/pkgconfig/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

6.验证是否安装成功

pkg-config --modversion opencv4

7.小程序测试
找到 opencv-4.9.0/samples/cpp/example_cmake 目录下,官方已经给出了一个cmake的example,我们可以拿来测试下。按顺序执行:

$ cmake .
$ make
$ ./opencv_example

即可看到打开了摄像头,在左上角有一个hello opencv ,即表示配置成功。

8.代码编译报错

在使用g++编译调用opencv的代码时,如果头文件包含写的是#include <opencv2/core.hpp>,则会出现错误
fatal error: opencv2/core.hpp: No such file or directory
这是因为opencv头文件的路径中多了一个opencv4的文件夹:/usr/local/include/opencv4/opencv2,


解决办法:
sudo ln -s /usr/local/include/opencv4/opencv2 /usr/local/include/

参考
https://blog.csdn.net/qq_51022848/article/details/128095476

posted on 2024-05-24 15:02  JJ_S  阅读(368)  评论(0编辑  收藏  举报