文章目录
- 🌕系统配置
- 🌕打开终端,退出anacoda激活环境(如果有的话)
- 🌕安装依赖
-
- [🌙安装g++, cmake, make, wget, unzip,若已安装,此步跳过](#🌙安装g++, cmake, make, wget, unzip,若已安装,此步跳过)
- 🌙安装opencv依赖的库
- 🌙安装可选依赖
- [🌕下载安装OpenCV 4.7.0版本](#🌕下载安装OpenCV 4.7.0版本)
- 🌕配置pkg-config环境
- 🌕配置动态库环境
- 🌕测试OpenCV
- [🌕其它:解决安装OpenCV 4.5.0碰见的问题和解决方法](#🌕其它:解决安装OpenCV 4.5.0碰见的问题和解决方法)
- 🌕其它:安装失败重新编译的方法:
- 🌕参考链接
🌕系统配置
文心一言说:
cpp
opencv4.5.0和opencv4.7.0至少为支持C++11或更高版本的编译器
cpp
C++版OpenCV 4.5.0通常支持GCC 5.4及以上版本和G++ 5.4及以上版本的编译器
C++版OpenCV 4.7.0通常支持GCC 7及以上版本和G++ 7及以上版本的编译器
我的配置
cpp
ubuntu 22.04
gcc和g++都是12.3.0
🌕打开终端,退出anacoda激活环境(如果有的话)
如果是在conda激活环境中,要首先退出激活环境。如果没有安装anaconda,忽略此步骤。
python
conda deactivate
🌕安装依赖
🌙安装g++, cmake, make, wget, unzip,若已安装,此步跳过
python
sudo apt install -y g++
sudo apt install -y cmake
sudo apt install -y make
sudo apt install -y wget unzip
🌙安装opencv依赖的库
python
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
🌙安装可选依赖
python
# streamer支持
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
# 可选的依赖
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev
🌕下载安装OpenCV 4.7.0版本
🌙github下载方式
bash
# 安装4.7.0版本
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.7.0.zip
下载最新版本的方法
bash
# 安装最新版本
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
🌙官网下载方式
点击source
🌙移动下载的opencv包到要安装的位置
bash
mv /home/Downloads /home/bruce/software
🌙解压并安装
bash
cd /home/bruce/software
bash
unzip opencv.zip
进入解压后的包
bash
cd opencv-4.5.0/
bash
mkdir build
bash
cd build/
使用cmake配置opencv
bash
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES ..
说明:
-D OPENCV_GENERATE_PKGCONFIG=YES
OpenCV4以上默认不使用pkg-config,该编译选项开启生成opencv4.pc文件,支持pkg-config功能
bash
# 查看线程数
nproc
我的是24,所以编译的进程数就填24,开始编译
bash
make -j24
用make进行安装
bash
sudo make install
默认安装路径为:
bash
/usr/local/bin - executable files
/usr/local/lib - libraries (.so)
/usr/local/cmake/opencv4 - cmake package
/usr/local/include/opencv4 - headers
/usr/local/share/opencv4 - other files (e.g. trained cascades in XML format)
🌕配置pkg-config环境
opencv4.pc文件的默认路径:/usr/local/lib/pkgconfig/opencv4.pc
若此目录下没有,可以使用以下命令搜索:
bash
sudo find / -iname opencv4.pc
bash
sudo vim /etc/profile.d/pkgconfig.sh
按i进入插入模式,然后添加如下内容:
bash
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
按esc,输入:wq 保存后退出。
激活
bash
source /etc/profile
验证是否成功:
bash
pkg-config --libs opencv4
🌕配置动态库环境
打开文件(可能为空文件):
bash
sudo vim /etc/ld.so.conf.d/opencv4.conf
在该文件末尾加上OpenCV的lib路径,保存退出:
bash
/usr/local/lib
使配置的路径生效:
bash
sudo ldconfig
🌕测试OpenCV
cd 到/opencv/samples/cpp/example_cmake目录下,依次执行以下命令:
进入你的opencv解压目录,然后进入如下的目录
bash
cmake .
make
./opencv_example
运行之后如果电脑有摄像头,就会弹出摄像头
如果没有摄像头弹出如下内容也是对的:
🌕其它:解决安装OpenCV 4.5.0碰见的问题和解决方法
报错显示gapi_async_test.cpp这里面的代码找不到
这个错误信息指出在编译 OpenCV 4.5.0 的 gapi_async_test.cpp 文件时遇到了一个问题,具体是 std::this_thread::sleep_for 函数无法识别。这通常是因为缺少必要的头文件或者编译器标准设置不正确导致的。
std::this_thread::sleep_for 是 C++11 标准中引入的一个功能,它位于 头文件中。错误提示表明编译器没有找到这个函数,很可能是因为没有包含 头文件。
点击保存。
bash
make clean # 可选,但推荐,以清除旧的构建文件
bash
# 查看线程数
nproc
我的是24,所以编译的进程数就填24
bash
make -j24
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/242f5e0c1af1449084c75ea7b476979f.png
🌕其它:安装失败重新编译的方法:
删除build文件夹下的文件CMakeCache.txt,重新编译即可
bash
rm CMakeCache.txt
清除旧的构建文件
bash
make clean