如何在 CentOS 7 上裝 OpenCV

如何在 CentOS 7 上安裝 OpenCV ?
方法一 : 使用 yum 安裝

sudo yum install opencv opencv-devel opencv-python
pkg-config --modversion opencv

 

方法二 : 使用源碼安裝
Step 1 : 安裝需要的套件

sudo yum install -y epel-release 
sudo yum update -y

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

sudo yum install -y python34-numpy openexr-devel boost-devel

Step 2 : 取得 OpenCV : 目前 CentOS 7.9.2009 只能裝到 4.6.0

從 git 下載

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

Step 3: 設定 OpenCV

cd ~/opencv_build/opencv && mkdir build && cd build
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 ..

設定完成會出現 :

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

Step 4: 編譯

sudo make

編譯完成出現 :

[100%] Building CXX object apps/model-diagnostics/CMakeFiles/opencv_model_diagnostics.dir/model_diagnostics.cpp.o
[100%] Linking CXX executable ../../bin/opencv_model_diagnostics
[100%] Built target opencv_model_diagnostics

安裝 :

sudo make install

Step 5 :
建立 opencv4.pc 的 symlink

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

驗證版本 :

pkg-config --modversion opencv4

輸出 :

4.6.0

啟用 Python cv2 module :

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

Step 6 : 修改環境變量

vi /etc/profile
#新增
export  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
#退出後執行
source /etc/profile

Step 7 :
新增 lib

/bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

驗證 :

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

參考資料:
https://juejin.cn/post/7202211586676703291
https://linuxize.com/post/how-to-install-opencv-on-centos-7/