1. 程式人生 > >在Linux下OpenCV的下載和編譯

在Linux下OpenCV的下載和編譯

報錯 為知 文章 onf data dev sudo 資料 pro

原理上來說,和windows下沒有差別,我們同樣使用Cmake-GUI來解決問題。我們推薦QT和OpenCV全部采用官方的方式重新安裝一遍,否則可能會丟失一些模塊,而這些都會降低開發效率。
1、參考相關資料,為了避免麻煩,首先安裝一些預置環境:

必須安裝依賴的庫

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

2、從github上下載相關代碼:

技術分享圖片


這裏我們只安裝基本的代碼,如果結合contrib的話請參考相關資料。比如

《(5編譯使用最新opencv)從零開始的嵌入式圖像圖像處理(PI+QT+OpenCV)實戰演練>

https://www.cnblogs.com/jsxyhelu/p/8000819.html
為了保證資料的最新性,這裏堅持把最新版的OpenCV4通過GitHub下載下來,的確比較消耗時間。我使用的Ubuntu是16.04,目前還沒有升級到18.04,但是將來會升級,18.04在易操作性上做得更棒。
如果從github上下載資料比較慢,請參考相關修改host的文章


3、打開cmake-gui開始編譯
兩次Make,一次generate,主要是下載ipp比較消耗時間。
而後打開目錄進行make,sudo make install 技術分享圖片
這裏幾個註意的地方:、不要使用world,不知道為什麽這種情況下會報錯(crash錯誤)
讀懂這段:如果共享庫文件安裝到了/usr/local/lib(很多開源的共享庫都會安裝到該目錄下)或其它"非/lib或/usr/lib"目錄下, 那麽在執行ldconfig命令前, 還要把新共享庫目錄加入到共享庫配置文件/etc/ld.so.conf中, 如下:

# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf

# ldconfig

我們肯定是需要修改的
最後,我的結果為:
INCLUDEPATH += /usr/local/include/opencv4 \
/usr/local/include/opencv4/opencv2


LIBS += /usr/local/lib/libopencv_highgui.so\
/usr/local/lib/libopencv_core.so\
/usr/local/lib/libopencv_videoio.so\
/usr/local/lib/libopencv_imgcodecs.so\
/usr/local/lib/libopencv_imgproc.so
4、編寫測試程序
技術分享圖片

來自為知筆記(Wiz)

在Linux下OpenCV的下載和編譯