Centos

如何在 Centos 7 中安装 OpenCV

luobo · 1月15日 · 2020年 · ·

文章前言

OpenCV(开源计算机视觉库)是一个开源计算机视觉库,具有C++,Python和Java的绑定,并支持所有主要操作系统。 它可以利用多核处理的优势,并具有GPU加速功能以实现实时操作。

OpenCV的用途非常广泛,包括医学图像分析,拼接街景图像,监视视频,检测和识别面部,跟踪运动对象,提取3D模型等等。

在本教程中,我们将展示如何在CentOS 7上安装OpenCV。

从CentOS储存库安装OpenCV

可从CentOS 7标准存储库中获得OpenCV软件包,但是它已经过时了。 如果要从源代码安装OpenCV的最新稳定版本,请从本教程的“源代码”部分向下滚动到“安装OpenCV”。

在撰写本文时,存储库中的版本为2.4.5。 通过键入以下命令安装OpenCV软件包:

sudo yum install opencv opencv-devel opencv-python

安装完成后,您可以通过运行以下命令进行验证:

pkg-config --modversion opencv
2.4.5

或通过导入Python cv2模块并打印OpenCV版本:

python -c "import cv2; print(cv2.__version__)"
2.4.5

从源代码安装OpenCV

从源代码构建OpenCV库可以使您拥有最新的可用版本。 它将针对您的特定系统进行优化,并且您将完全控制构建选项。

要从源代码安装最新的OpenCV版本,请按照以下步骤操作:

0-1. 安装必需和可选的依赖项:

sudo yum install epel-release git gcc gcc-c++ cmake3 qt5-qtbase-devel \
    python python-devel python-pip cmake python-devel python34-numpy \
    gtk2-devel libpng-devel jasper-devel openexr-devel libwebp-devel \
    libjpeg-turbo-devel libtiff-devel libdc1394-devel tbb-devel numpy \
    eigen3-devel gstreamer-plugins-base-devel freeglut-devel mesa-libGL \
    mesa-libGL-devel boost boost-thread boost-devel libv4l-devel

0-2. 克隆OpenCV和OpenCV的贡献库:

mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

在撰写本文时,github存储库中的默认版本为4.2.0。 如果要安装旧版本的OpenCV,请在cd上同时打开opencvopencv_contrib目录,然后运行git checkout <opencv-version>

0-3. 下载完成后,创建一个临时构建目录,然后切换到该目录:

cd ~/opencv_build/opencv && mkdir build && cd build

使用以下CMake命令配置OpenCV构建:

cmake3 -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 ..

CMake构建系统完成后,您将看到以下内容:

-- Configuring done
-- Generating done
-- Build files have been written to: /home/linuxize/opencv_build/opencv/build

0-4. 通过运行以下命令开始编译过程:

make -j8

根据您的处理器修改-j标志。 如果您不知道处理器的内核数量,可以通过键入nproc找到它。

编译可能要花费几分钟或更长时间,具体取决于您的系统配置。 完成后,您将看到以下内容:

[100%] Built target example_tutorial_Threshold_inRange
[100%] Linking CXX shared module ../../lib/cv2.so
[100%] Built target opencv_python2

0-5. 使用以下方法安装OpenCV:

sudo make install

0-6. 将symlink opencv4.pc文件创建到/usr/share/pkgconfig目录,然后运行ldconfig重建库高速缓存。

sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
sudo ldconfig

通过键入以下内容检查OpenCV版本:

pkg-config --modversion opencv4
4.2.0

0-7. 要启用Python cv2模块,请运行:

sudo ln -s /usr/local/lib/python2.7/site-packages/cv2  /usr/lib/python2.7/site-packages/

导入模块并通过打印OpenCV版本来验证安装:

python -c "import cv2; print(cv2.__version__)"
4.2.0-dev

最后总结

我们向您展示了两种在CentOS 7服务器上安装OpenCV的方法。 您选择的方法取决于您的要求和偏好。 尽管从CentOS存储库安装打包版本更容易,但从源代码构建OpenCV可以为您提供更大的灵活性,并且它应该是安装OpenCV时的首选。

如果您有任何疑问或反馈,请在下面发表评论。

0 条回应