--- title: Install Opencv with ffmpeg on Ubuntu 20.04 date: 2020-10-26 10:31:11 tags: - Ubuntu20.04 - OpenCV - ffmpeg - Issue - Fixed categories: - FixedIssue --- # OpenCV Installation 從 Ubuntu Repository 安裝 OpenCV ``` sudo apt update sudo apt install libopencv-dev python3-opencv ``` 上面的命令將安裝運行OpenCV所需的所有軟件包。 通過導入cv2模塊並印OpenCV版本來驗證安裝版本: ``` python3 -c "import cv2; print(cv2.__version__)" ``` <!-- more --> 從 Source 安裝 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 ``` Clone OpenCV’s and OpenCV contrib 資料庫: ``` mkdir ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git ``` 下載完成後,創建一個build目錄,並進入至該目錄: ``` cd ~/opencv_build/opencv mkdir -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 #-j8 代表我有8線程的CPU ``` 安裝Opencv: ``` sudo make install ``` 驗證安裝版本 C++ bindings: ``` pkg-config --modversion opencv4 ``` Python bindings: ``` python3 -c "import cv2; print(cv2.__version__)" ``` **Install ffmpeg** 因為OpenCV 是根據舊版的ffmpeg做開發 所以如果直接使用 apt-get install ffmpeg 會下載到最新版的ffmpeg 容易產生錯誤,所以以下我將以ffmpeg 2.8.14版本教學 親測有用! ffmpeg官網下載安裝包 ``` tar xvf ffmpeg-2.8.14.tar.bz2 cd ffmpeg-2.8.14 sudo apt-get install yasm ./configure --host-cppflags=-fPIC --host-cflags=-fPIC --enable-shared make sudo make install ``` apt-get安裝相關的依賴庫 ``` sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # 處理圖像所需的包 sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev sudo apt-get install libxvidcore-dev libx264-dev # 處理視頻所需的包 sudo apt-get install libatlas-base-dev gfortran # 優化opencv功能 sudo apt-get install ffmpeg ``` 最後可以透過以下指令查看版本 ``` ffmpeg -version ``` --- tags: ###### tags: Ubuntu20.04 ###### tags: OpenCV ###### tags: ffmpeg ###### tags: Issue ###### tags: Fixed ---