如何在Ubuntu 20.04上安装OpenCV
时间:2020-03-05 15:30:40 来源:igfitidea点击:
OpenCV(开放源计算机视觉库)是一种开放源计算机视觉库,具有C++,Python和Java的绑定,并支持所有主要操作系统。
它可以利用多核处理的优势,并具有GPU加速功能以实现实时操作。
OpenCV可用于广泛的应用程序,包括医学图像分析,拼接街景图像,监视视频,检测和识别人脸,跟踪运动对象,提取3D模型等。
本文介绍如何在Ubuntu 20.04上安装OpenCV。
要从源代码安装最新稳定版本的OpenCV,请从本教程的“源代码”部分向下滚动到“安装OpenCV”。
选择最适合安装方法。
从Ubuntu存储库安装OpenCV
可从默认的Ubuntu 20.04存储库安装OpenCV。
要安装它,请运行:
sudo apt updatesudo apt install libopencv-dev python3-opencv
上面的命令将安装运行OpenCV所需的所有软件包。
通过导入“ cv2”模块并打印OpenCV版本来验证安装:
python3 -c "import cv2; print(cv2.__version__)"
在撰写本文时,存储库中的版本为4.2:
4.2.0
从源代码安装OpenCV
从源代码构建OpenCV库可让我们获得最新的可用版本。
它将针对特定系统进行优化,并且我们将完全控制构建选项。
这是安装OpenCV的推荐方法。
执行以下步骤以从源代码安装最新的OpenCV版本:
- 安装构建工具和依赖项:
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 openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \ libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
- 克隆OpenCV和OpenCV贡献存储库:
mkdir ~/opencv_build && cd ~/opencv_buildgit clone https://github.com/opencv/opencv.gitgit clone https://github.com/opencv/opencv_contrib.git
在撰写本文时,github存储库中的默认版本为4.3.0。如果要安装较旧版本的OpenCV,请在cd目录中同时打开“ opencv”和“ opencv_contrib”目录,然后运行“ git checkout <opencv-version>”
- 下载完成后,创建一个临时的构建目录,并导航到该目录:
cd ~/opencv_build/opencvmkdir -p build && cd build
使用CMake设置OpenCV构建:
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON ..
输出将如下所示:
-- Configuring done -- Generating done -- Build files have been written to: /home/vagrant/opencv_build/opencv/build
- 开始编译过程:
make -j8
根据处理器修改“ -j”标志。如果我们不知道处理器的内核数量,可以通过键入“ nproc”找到它。编译可能需要几分钟或者更长时间,具体取决于系统配置。
- 使用以下方法安装OpenCV:
sudo make install
- 要验证安装,请键入以下命令,我们应该看到OpenCV版本。C++绑定:
pkg-config --modversion opencv4
4.3.0
Python绑定:
python3 -c "import cv2; print(cv2.__version__)"
4.3.0-dev