Ubuntu16.04 安裝OpenCV4.1.0

可以參考這篇文章在ubuntu下安裝opencv4.1.0詳細步驟
但是我在進行到第5步安裝依賴包的時候,依賴包怎麼也安裝不上,後來發現是網絡源的問題,折騰了好一會兒也解決不了,所以就換了一種方法,省略了手動安裝依賴包的步驟。
安裝好opencv後,抽時間把網絡源的問題也解決了。如果遇到網絡源的問題,可以參考我另一篇文章Ubuntu安裝xxx依賴錯誤解決方法
解決了網絡源的問題,應該就能按上面那篇文章的方法安裝opencv了。不過我還是記錄下我另外一種安裝opencv的方法。

1、下載opencv源碼

源碼可以從opencv官網下載,我也放到百度雲盤了
https://pan.baidu.com/s/1LS4Xh85ft4HbRLGx-N1mXw

2、編譯opencv

解壓opencv源碼包,然後進入該文件夾

mkdir build
cd build
cmake ..
make -j8
3、安裝opencv
sudo make install

安裝成功後,在/usr/local/include/下會有一個opencv4文件夾,opencv4/下有opencv2文件夾,使用opencv庫的頭文件都在opencv2文件夾中。如果C++使用該庫時是:

#include <opencv2/opencv.hpp>

那麼需要把opencv2複製到/usr/local/include/中。
爲了鏈接時不會出現問題,再把opencv2複製到/usr/include/中會更好。

4、改變環境變量
sudo gedit /etc/ld.so.conf.d/opencv.conf

該命令創建一個.conf文件
創建的文件中加上/usr/local/lib,再運行以下命令

sudo ldconfig
5、測試
cd ~/下載/opencv/samples/cpp/example_cmake
cmake .
make
./opencv_example

如果沒有攝像頭將capture.open(0)改爲capture.open(". ./. ./data/tree.avi")。

附:關於make -j

用make -j帶一個參數,可以把項目在進行並行編譯,比如在一臺雙核的機器上,完全可以用make -j4,讓make最多允許4個編譯命令同時執行,這樣可以更有效的利用CPU資源。
在多核CPU上,適當的進行並行編譯還是可以明顯提高編譯速度的。但並行的任務不宜太多,一般是以CPU的核心數目的兩倍爲宜。
不過這個方案不是完全沒有cost的,如果項目的Makefile不規範,沒有正確的設置好依賴關係,並行編譯的結果就是編譯不能正常進行。如果依賴關係設置過於保守,則可能本身編譯的可並行度就下降了,也不能取得最佳的效果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章