Ubuntu18.04安裝opencv4.1.1經驗

提前篇

用cmake-gui安裝是極好的!!命令對新手不太友好。。。

sudo apt-get install cmake
sudo apt-get install cmake-qt-gui

最好一起安裝opencv_contrib庫,很多有用的模塊都在這裏,具體方法就是下載與opencv庫相同版本的contrib庫,然後解壓到opencv的文件夾下,一定是相同版本!
在這裏插入圖片描述在這裏插入圖片描述
1.cd opencv4.1.1/build
2.

cd bulid
cmake-gui ..(注意這裏有個空格,空格..表示上級目錄)
(然後在界面上一頓選擇或者只選擇release版本,別的都默認,以後有機會再改,VTK、QT支持也很有用,也可以選上,但是VTK和QT需要提前安裝,然後點擊confige,generate,時間略長)
make -j8(或者make)     (此處時間極長)
sudo make install

3.然後配置環境變量

下面這個鏈接說的很詳細,不確定的地方多百度。。。
https://blog.csdn.net/echoamor/article/details/83022352

第一步:官網安裝方法

這是opencv的官方網站介紹
https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

關於第一步

可以在github上直接下載release版本,一樣的,最好有VPN,翻牆下載快
此處強烈建議同時下載opencv_contrib,只要解壓後放在opencv的解壓路徑下即可,這個裏面是不成熟的模塊,但是都是高級模塊。。。一定注意這兩個包的版本需要一致
在這裏插入圖片描述

關於第二步

2.1 cmake版本

這裏有一點需要注意:第二個參數ON表示製作文檔,第三個參數是自己的解壓路徑/usr/local(此處強烈建議就用官網默認的,省得以後路徑不知道該不該改!!!),最後的空格和兩個點..空格是參數之間的間隔,兩個點表示CmakeLists.txt文件在build文件夾的父目錄。
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_DOCS=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
如果想要完成第
而且因爲此時的路徑是在build文件夾下,所以最後的路徑寫完 要額外加空格和兩個點" …"!!!!
而且因爲此時的路徑是在build文件夾下,所以最後的路徑寫完 要額外加空格和兩個點" …"!!!!
而且因爲此時的路徑是在build文件夾下,所以最後的路徑寫完 要額外加空格和兩個點" …"!!!!
這誰扛得住。。。我還以爲那兩個點意思是路徑省略了呢,靠!
在這裏插入圖片描述

2.2cmake-gui版本

在opencv-4.1.1/build目錄下,cmake-gui ..
點擊“configure”
選擇contrib/moudle的路徑
再次點擊configure
注意不要選擇BUILD_opencv_world,我選上總是報錯,不選就沒事。可能是contrib庫不支持world吧。
建議選擇OPENCV_GENERATE_PKGCONFIG,以後配置eclipse可能方便點
沒什麼問題可以再次點擊configure
PS:如果下面報錯下載ippcv,ffmpg啥的失敗,可以打開build/CmakeDownLoadLog.txt,查看裏面的信息,會有下載鏈接和存放路徑,存放路徑就在opencv源文件夾下的某個文件夾中。

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

關於第8步

製作文件我也沒成功,提示make: *** 沒有規則可以創建目標“doxgyen”。 停止。如果有解決的小夥伴請聯繫我。。。但是不影響使用應該。恩,應該。。。

更新:https://docs.opencv.org/master/d4/db1/tutorial_documentation.html
這是官網製作文檔的方法,其實就是第二步加一個參數-DBUILD_DOCS=ON,還有記得sudo apt-get install doxygen先安裝這個軟件,才能只做文檔。
在安裝路徑opencv-4.1.0/build/doc下make doxygen然後opencv-4.1.0/build/doc/doxygen下找到index.html,用瀏覽器打開就行,下面是我做好的
在這裏插入圖片描述

第二步:測試

關於第10步

下面斜體這部分不知道有沒有用。如果不用不能成功的話再試試吧。。。
測試之前可能需要修改環境變量sudo gedit /etc/ld.so.conf.d/opencv.conf
在打開的文件中寫入‘/usr/local/lib ’
保存修改
再輸入sudo ldconfig

測試文件我用的不是他的方法,他的指令我看不懂,在我的路徑下~/opencv/opencv-4.1.0/samples/cpp/example_cmake
用終端打開example_cmake文件夾,有opencv自帶的例子文件。
注意這裏需要更改CmakeLists.txt,打開文件在find_package(OpenCV REQUIRED)前插入一句話,讓他自己find_package他總是找不到,我這裏最低級的目錄是build是因爲我之前第二步創建的目錄叫build,各位根據自己的需要修改。

set(OpenCV_DIR ~/opencv/opencv-4.1.0/build)

在這裏插入圖片描述
先驗知識:“cmake .” 需要用到CmakeLists.txt文件,make指令直接運行,./+項目名錶示運行編譯後的項目

cmake . 

#注意這裏所處文件夾是example_cmake,這個文件夾裏有CMakeLists.txt
#注意cmake 後面有個空格,有個“.”,一個點表示當前目錄,兩個點表示父目錄,同第二步

make
./opencv_example

#如果成功會打開攝像頭,攝像頭左上角顯示hello opencv

在這裏插入圖片描述在這裏插入圖片描述

參考博客

https://blog.csdn.net/new_delete_/article/details/84797041 解決make指令,找不到OpenCVConfig.cmake的錯誤
https://www.jianshu.com/p/f54b0fc13811 解決找不到opencv4package的問題,cmake有個參數要設置
https://blog.csdn.net/qq_41807801/article/details/90319204 實在沒辦法,設置了個環境變量
終端輸入pkg-config --libs opencv4,會有提示庫文件列表,opencv4這條命令後面加了個4,以前的命令好像是pkg-config --libs opencv
在這裏插入圖片描述

仍然存在的問題:

  • 好像有個找不到庫的問題。。。但是想不起來了什麼什麼的。
  • 解決了,我用的eclipse,在設置的時候多寫一行,因爲#include <opencv2/opencv.hpp>這個頭文件表示找opencv2文件夾下的庫,原來我配置的時候只有第二行的,就變成找opencv2/opencv2/opencv.hpp所以纔會報錯找不到。
  • 還有一種是重啓試試,可能是之前配置環境變量沒有更新,終端運行sudo ldconfig可能有用。
    在這裏插入圖片描述
  • 打開攝像頭後,按ctrl鍵會退出,Gtk-Message: 21:55:59.233: Failed to load module "canberra-gtk-module"—解決了,按鍵退出是程序設置的,接收到鍵盤按鍵就退出。至於缺的這個模塊裝上就行了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章