1、下載壓縮包:https://github.com/opencv/opencv,在Branch欄選擇3.4版本,clone下載 2、安裝cmake及依賴庫,打開終端,輸入以下命令: 3、解壓所下載的壓縮包,在包含有CmakeList.txt文件的目錄下右鍵打開終端: 新建文件夾build,並切換到 ...
1、下載壓縮包:https://github.com/opencv/opencv,在Branch欄選擇3.4版本,clone下載
2、安裝cmake及依賴庫,打開終端,輸入以下命令:
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
3、解壓所下載的壓縮包,在包含有CmakeList.txt文件的目錄下右鍵打開終端:
新建文件夾build,並切換到build目錄下:
mkdir build cd build
4、 cmake一下
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
其中可能會有一個ippicv下載時間長或者下載失敗,可考慮手動下載:鏈接:https://pan.baidu.com/s/1gWpo1no0V4PlMMMxWfCFew 提取碼:kuox
這個安裝包是ippicv_2019_lnx_intel64_general_20180723.tgz,若終端顯示下載其他版本的,自行百度下載。
下載後無需解壓,複製文件的絕對路徑(不包含文件名,如/home/xlzc/Download/),打開opencv-3.4/3rdparty/ippicv/ippicv.cmake文件,定位在47行,
替換自己的本地文件路徑,如下:
再次執行上一cmake命令,ok了,
5、之後執行make,編譯時間有些長:
sudo make
6、執行命令:
sudo make install
7、執行完畢後OpenCV編譯過程就結束了,接下來就需要配置一些OpenCV的編譯環境首先將OpenCV的庫添加到路徑,從而可以讓系統找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
執行此命令後打開的可能是一個空白的文件,不用管,只需要在文件末尾添加,之後保存。
/usr/local/lib
執行如下命令使得剛纔的配置路徑生效
sudo ldconfig
可能會有以下錯誤:(我安裝時未碰到)
sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符號連接
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符號連接
出現這個錯誤可能是由於系統BUG所致
只需要分別輸入上面圖下部分的四行命令就可解決
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1 sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
8、配置bash(類似於Windows環境變數)
sudo gedit /etc/bash.bashrc
在最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
保存,執行如下命令使得配置生效
source /etc/bash.bashrc
更新
sudo updatedb
至此所有的配置都已經完成
9、測試
cd到opencv-3.4.1/samples/cpp/example_cmake目錄下 我們可以看到這個目錄里官方已經給出了一個cmake的example我們可以拿來測試下
按順序執行
cmake . make ./opencv_example
即可看到打開了攝像頭,在左上角有一個hello opencv
即表示配置成功,無攝像頭也輸出hello opencv
或者自己建立一個小工程測試,新建文件夾demo,包含文件CMakeList.txt和文件main.cpp
CMakeList.txt:
cmake_minimum_required(VERSION 2.8) project(example_project) find_package(OpenCV REQUIRED) add_executable(example main.cpp) target_link_libraries(example ${OpenCV_LIBS})
main.cpp
#include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include "opencv2/videoio.hpp" #include <iostream> using namespace cv; using namespace std; int main() { cout << "Hello OpenCV " << CV_VERSION << endl; Mat myMat = imread("/home/xlzc/桌面/project/opencv_test/test2.jpg",1); // 顯示圖像 imshow("Opencv Image", myMat); // 等待按鍵延時 ms waitKey(5000); return 0; }
在當前目錄下打開終端,依次運行以下命令
cmake . make ./example
j即可顯示一張圖片
參考轉載:https://blog.csdn.net/cocoaqin/article/details/78163171