下載opencv和opencv_contrib
下載網址:opencv的github官方站點
如果你喜歡使用git下載的話
cd ~/Downloads
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
點擊release選擇合適的版本下載。
安裝基礎依賴和工具
sudo apt install python3-dev libgtk-3-dev pkg-config ffmpeg libjpeg-dev libavcodec-dev libtiff5-dev libavformat-dev libswscale-dev libavresample-dev libpng-dev
出現某些包無法安裝情況忽略即可。pkg-config和libgtk-3-dev要安裝成功。可以使用試錯法慢慢安裝這些依賴。有些也許不是必要額。此處僅供參考。最好提前通過各種方式知道自己的項目必須用到那些依賴,否則最後還得重新build,特別心酸。這上面幾個都是通過一次次的失敗積累出來的。我是做視頻目標跟蹤方面的所以比較重視videoio的功能。
編譯opencv和opencv_contrib
cd <path to opencv source>
sudo mkdir build
cd build #以上三句現在一般可以直接使用文件管理器實現,無須命令創建。
cmake -D CMAKE_BUILD_TYPE="Release" -D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv_contrib-4.2.0/modules ~/Downloads/opencv-4.2.0 ..
可以看到gtk和ffmpeg等選項是開啓的,以及幾種圖片的支持。
開始編譯。
sudo make -j8
-j 指調用的線程數,推薦-j8
sudo make install
到這裏就完成了安裝過程。
去/usr/local/include
你會發現一個opencv4的文件夾(我裝的是4.2.0)裏面包含一個opencv2.這便是我們的include所在。
配置code::blocks
在code::blocks中打開設置編譯器
只在搜索目錄的編譯器 條目下,添加兩個路徑即可。然後在linker裏添加/usr/local/lib.
在link settings裏將/usr/local/lib裏所有的opencv的.so選中添加。
這樣就使其與codeblocks鏈接起來相認了。重啓一下軟件,然後測試一下。
在code::blocks中Linux上一般沒有自動縮進,
sudo apt install codeblocks-contrib
重啓一下軟件就可以解決。
最後讓大家看一看成果。堅持就是勝利,這個過程中無數的掉坑,無數的想放棄,但是還是摸索到了最後。希望對大家有一滴滴的幫助。
Linux的code block實在利用xterm的,而xterm的字體和大小都是極品的醜與小,csdn上有相關的修改可以參考。建議修改掉(在配置opencv之前)
配置CLion
編輯新建項目的CMakeLists.txt如下:
cmake_minimum_required(VERSION 3.15)
project(opencv)
find_package(OpenCV REQUIRED) #新添加的內容
set(CMAKE_CXX_STANDARD 20)
add_executable(opencv main.cpp)
include_directories(${OpenCV_INCLUDE_DIRS}) #新添加的內容
target_link_libraries(opencv ${OpenCV_LIBS}) #新添加的內容
在原來的文件基礎上在相應位置加上上面備註了(新添加的內容)的三句話,重載一下該文件已經。