Ubuntu16.04安装opencv-3.4.2
生活随笔
收集整理的這篇文章主要介紹了
Ubuntu16.04安装opencv-3.4.2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文鏈接:
https://m.oldpan.me/archives/ubuntu-install-opencv-from-source第一步:更新我們的系統
sudo apt-get update sudo apt-get upgrade第二步:安裝所有依賴庫
# 首先我們先移除系統中已經存在的依賴,這一部必須要做 sudo apt-get remove x264 libx264-dev# 然后安裝我們需要的依賴 sudo apt-get install build-essential checkinstall cmake pkg-config yasm sudo apt-get install git gfortran sudo apt-get install libjpeg8-dev libjasper-dev libpng12-dev# 下面根據版本選擇安裝 # Ubuntu 14.04 sudo apt-get install libtiff4-dev # Ubuntu 16.04 sudo apt-get install libtiff5-devsudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev sudo apt-get install libxine2-dev libv4l-dev sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev sudo apt-get install qt5-default libgtk2.0-dev libtbb-dev sudo apt-get install libatlas-base-dev sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev sudo apt-get install libvorbis-dev libxvidcore-dev sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev sudo apt-get install x264 v4l-utilssudo apt-get install qt5-default# 可選安裝 sudo apt-get install libprotobuf-dev protobuf-compiler sudo apt-get install libgoogle-glog-dev libgflags-dev sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
第三步:安裝python依賴(可選)
sudo apt-get install python3-dev pip3 install numpy scipy matplotlib scikit-image scikit-learn ipython第四步:下載opencv-3.4.2
https://opencv.org/releases.html第五步:安裝opencv-3.4.2
1)進入我們的opencv目錄,創建一個build的文件夾并進入
cd opencv mkdir build cd build2)cmake配置
cmake -D CMAKE_BUILD_TYPE=Release -D MAKE_INSTALL_PREFIX=/usr/local ..3)等待漫長的編譯過程
make4)安裝
sudo make install5)環境配置添加庫路徑
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'6)更新系統庫
sudo ldconfig7)配置bash
sudo vim /etc/bash.bashrc //在末尾添加 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH保存退出,然后執行如下命令使得配置生效
source /etc/bash.bashrc //激活配置然后更新database sudo updatedb第六步:測試
1)在home下新建文件夾進入并新建名稱為opencv_test.cpp
#include <iostream> #include <opencv2/opencv.hpp>using namespace cv; using namespace std;int main(int argc, char** argv) {if ( argc != 2 ){cout << "Need to load a picture..." << endl;return -1;}Mat image;image = imread( argv[1], 1 );if ( image.empty() ){cout<<"No image data!"<< endl;return -1;}namedWindow("Display Image", WINDOW_AUTOSIZE );imshow("Display Image", image);waitKey(0);return 0; }2)建立一個CMakeLists.txt文件
cmake_minimum_required(VERSION 2.8)project( DisplayImage )find_package( OpenCV REQUIRED )add_executable( opencv_test opencv_test.cpp )target_link_libraries( opencv_test ${OpenCV_LIBS} )3)在home目錄中放一張測試的圖片,例如test.jpg,分別執行
cmake . make ./opencv_test ~/test.jpg圖片顯示成功!
在opencv_test.cpp文件創建成功后,或可直接使用如下命令生成可執行程序
g++ `pkg-config opencv --cflags` opencv_test.cpp -o opencv_test `pkg-config opencv --libs`注意:這里是` `(Tab鍵上面的那個鍵),而不是單引號' '
?
卸載源碼安裝的opencv
在之前創建的build目錄中執行
sudo make uninstall如果卸載不干凈,則執行下面的命令:
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*?
?
?
在編譯過程中可能遇到的問題
Scanning dependencies of target opencv_cudafilters [ 45%] Building CXX object modules/cudafilters/CMakeFiles/opencv_cudafilters.dir/src/filtering.cpp.o cc1plus: warning: /home/prototype/Downloads/opencv-3.4.0/build/modules/cudafilters/precomp.hpp.gch/opencv_cudafilters_RELEASE.gch: not used because 'OPENCV_TRAITS_ENABLE_DEPRECATED' is defined [-Winvalid-pch] cc1plus: warning: /home/prototype/Downloads/opencv-3.4.0/build/modules/cudafilters/precomp.hpp.gch/opencv_cudafilters_Release.gch: not used because 'OPENCV_TRAITS_ENABLE_DEPRECATED' is defined [-Winvalid-pch] [ 45%] Linking CXX shared library ../../lib/libopencv_cudafilters.so [ 45%] Built target opencv_cudafilters Makefile:162: recipe for target 'all' failed make: *** [all] Error 2遇到上面的問題,一般是之前OpenCV殘留沒有刪除干凈,刪除干凈重來即可。
?
轉載于:https://www.cnblogs.com/SystemCall/p/10630063.html
總結
以上是生活随笔為你收集整理的Ubuntu16.04安装opencv-3.4.2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【网上的都不靠谱?还是得改源码】用Jav
- 下一篇: ScrollView child lay