Ubuntu22.04系统安装opencv步骤简述及问题解决方法
前言
opencv是一个功能强大、开源且跨平台的计算机视觉库,适用于多种编程语言和操作系统,能够帮助开发者构建各种视觉项目。其模块众多,提供了诸多功能,能够进行图像处理、视频处理等等。比如:Highgui模块提供图像用户界面和视频I/O功能;Video模块专门用于视频分析;Photo模块提供了计算摄影功能。
opencv能够在Linux系统中使用,于是我在电脑中利用虚拟机来实现安装和使用。接下来,我将简述安装步骤和所遇问题及其解决方法。
准备工作
在开始安装之前,需要在电脑中安装相关的系统,如果就是Linux系统的,那么直接开始安装即可。接下来就是Windows系统安装虚拟机及其相关系统的步骤:
https://blog.csdn.net/youbestcando/article/details/136088857?spm=1001.2014.3001.5502
安装步骤
更新系统软件包
打开终端输入下面的指令
1.sudo apt update
2.sudo apt upgrade
注意:第二个指令可能需要较长的时间,请耐心等待;提示你是否继续,输入y回车即可。
呈现的结果:
图一
图二
安装依赖项
输入以下代码
sudo apt install libdc1394-dev
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
gfortran libatlas-base-dev python3-dev python3-numpy \
libtbb2 libtbb-dev libdc1394-dev
注意:第二个指令安装也需要一段时间,等待即可。
呈现的结果:
图一
图二
下载OpenCV源代码
输入以下代码
cd ~
git clone https://gitee.com/mirrors/OpenCV.git
先返回主目录,然后下载原代码即可。
呈现的结果:
构建新目录
输入以下代码
cd opencv
mkdir build
cd build
呈现的结果:
配置编译
配置编译选项是一个重要的步骤,这直接影响了程序构建的过程和最终的输出的质量。此步骤通常包括编译器和链接器选项,这些选项可以控制编译器和链接器怎么样源代码和库文件,生成最终的可执行文件或者库文件。
输入以下代码
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON ..
解释:-D CMAKE_BUILD_TYPE=RELEASE
构建类型RELEASE,这时编译器进行优化,生成性能更高的代码。
-D CMAKE_INSTALL_PREFIX=/usr/local
指定了OpenCV安装的根目录。
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON
这就是指定要安装python和c++。
呈现的结果:
图一
图二
只要出现图二中的内容,就说明配置编译过程已完成,可以进行下一步骤。
编译和安装
输入以下指令
make -j$(nproc)
sudo make install
注意:第一句是编译指令,编译需要较长的时间,有可能需要半小时以上。影响此速度的可能是因为虚拟机的技术和内存、I/O性能与物理机有些不足。要想加快此速度,可以尝试分配更多的CPU核心和内存。
呈现的结果:
图一
出现了错误。这个错误是因为找不到opencv2/gapi.hpp这个头文件,是Cmake没有正确配置导致,于是我再次进行了一次Cmake,输入以下指令即可。
make clean
cd /path/to/OpenCV/samples/cpp/tutorial_code/gapi
cmake -DOpenCV_DIR=/path/to/OpenCV/build -DOpenCV_GAPI_BUILD=ON ..
make
解释:首先清理之前的编译内容。
cd /path/to/OpenCV/samples/cpp/tutorial_code/gapi
此指令的意思是编译工作的前期工作,系统将当前的工作目录切换至指令中的gapi子目录,确保在正确的目录下执行接下来的操作。
cmake -DOpenCV_DIR=/path/to/OpenCV/build -DOpenCV_GAPI_BUILD=ON ..
cmake是编译工具,可生成makefile文件,用于编译。
-DOpenCV_DIR=/path/to/OpenCV/build
这个指定了OpenCV库的构建路径。
-DOpenCV_GAPI_BUILD=ON
确保G-API被构建。
呈现的结果:
图二
达到百分之百,就可以编译了。输入make -j$(nproc)。
图三
最后输入sudo make install完成安装。
图四
配置环境变量
输入以下指令
sudo nano /home/li/.bashrc
source ~/.bashrc
配置好环境变量能够让我们在终端直接使用OpenCV指令。
注意:在文件的末尾添加以下代码
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
呈现的结果:
完成之后,按下ctrl+x,然后输入y,最后回车即可。
验证安装
输入以下指令
pkg-config --modversion opencv4
结果出现了报错:
此问题是系统无法找到OpenCV 4的pkg-config文件,于是我在配置编译的步骤中指令加入了以下内容:-D OPENCV_GENERATE_PKGCONFIG=YES \
然后将配置编译的指令输入回车,接着进行编译和安装,最终进行验证即可。呈现的结果: