如何在 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/