對於安裝opencv有的人一次就成功,而有人安裝了N多次才成功。我就是那個安裝了N多次的人,每次遇到了很多安裝錯誤,只能通過到網上搜教程資料,解決方法;通過一次次的試錯,最終完成了安裝。再此提醒第一次安裝或則安裝失敗沒有頭緒的小伙伴,請注重官方安裝教程:
https://docs.opencv.org/master/d9/df8/tutorial_root.html
安裝環境是:ubuntu 18.04
安裝的opencv版本為3.4.1(其他版本也行,安裝過程類似)
opencv安裝的依賴包有:
Required Packages
- GCC 4.4.x or later
- CMake 2.8.7 or higher
- Git
- GTK+2.x or higher, including headers (libgtk2.0-dev)
- pkg-config
- Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
- ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
- [optional] libtbb2 libtbb-dev
- [optional] libdc1394 2.x
- [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
- [optional] CUDA Toolkit 6.5 or higher
1 首先更新數據
1 sudo apt-get update 2 sudo apt-get upgrade
2 安裝依賴包
1 sudo apt-get install build-essential 2 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 3 sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
3 下載openc3.4.1數據包
https://github.com/opencv/opencv/releases
根據安裝版本選擇性下載
4 解壓
sudo unzip opencv-3.4.1.zip
5 使用CMAKE安裝opencv
安裝時要注意你所在目錄
進入文件夾,創建BUILD文件夾,進入BUILD文件夾
1 cd opencv-3.4.1 2 mkdir build 3 cd build
設置cmake編譯參數,或者直接編譯使用默認參數
[option] sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
[option] sudo camke ..
其他安裝選項請參考官網教程:
編譯過程可能時間較長,也可能會出現編譯錯誤而無法進行。
6 進行MAKE創建編譯
make -j7
后面的參數-j7 表示的是使用7核進行編譯,而它的服務器有10核20個線程;所有可以使用更更多的核進行編寫操作,這樣速度會快一些。
build的指令運行也同樣時間會比較長。
7 成功后,進行安裝
make install
在此如果你未出現錯誤,說明你已經安裝好了opencv庫,但還需要配置環境。
8 配置環境
在配置之前,由於修改系統配置文件需要權限,請將身份轉變成root
sudo -s
修改opencv.conf文件
sudo gedit /etc/ld.so.conf.d/opencv.conf
文本可能為空白,在文本里添加opencv庫的安裝路徑
/usr/local/lib
保存,若無法保存請確定你的身份root;關閉后,會出現警告無需擔心。
更新系統共享鏈接庫
sudo ldconfig
再修改bash.bashrc文件
sudo gedit /etc/bash.bashrc
在末尾加入
1 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 2 export PKG_CONFIG_PATH
保存退出,然后執行如下命令使得配置生效
source /etc/bash.bashrc
在此就已經完成配置
驗證是否配置成功
查看opencv版本
pkg-config --modversion opencv
9 編輯測試程序,測試是否安裝成功
opencv_demo.cpp
1 #include <iostream> 2 #include <opencv2/opencv.hpp> 3 4 using namespace std; 5 using namespace cv; 6 7 int main(void) 8 { 9 Mat src_image_ = imread("test.jpg"); // 讀取當前目錄下的test.jpg圖片,如果保存請使用絕對路徑 10 imshow("src_image_", src_image_); // 打開圖片文件 11 waitKey(5000); // 停留5秒鍾 12 13 return 0; 14 }
CMakeLists.txt文件
1 cmake_minimum_required(VERSION 3.5) 2 project(test1) 3 set(CMAKE_CXX_STANDARD 11) 4 set(CMAKE_CXX_STANDARD_REQUIRED ON) 5 6 add_executable(${PROJECT_NAME} opencv_demo.cpp) 7 target_link_libraries(${PROJECT_NAME} opencv_core opencv_highgui opencv_imgcodecs)
運行程序
1 mkdir build # 創建目錄 2 cd build # 進入目錄 3 cmake .. # cmake自動查找父目錄下的CMakeLists.txt文件 4 make # 編譯生成test1可執行文件 5 ./test1 # 運行可執行文件, 至於代碼中打開的圖片是相對於test1可執行文件的相對路徑
如果運行成功,則安裝成功;若出現編譯錯誤請到網上搜索錯誤原因和解決方式。