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