一、安裝依賴庫
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 4 sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev 5 sudo apt-get install -y python-dev python-tk python-numpy python3-dev python3-tk python3-numpy
二、下載opencv和opencv_contrib
可以到github上下載opencv3.4.5和opencv_contrib-3.4.5,網址:https://github.com/opencv,下載的時候注意前后版本統一。
將opencv3.4.5.zip和opencv_contrib-3.4.5.zip解壓到同一個文件夾,這里我統一放到了opencv3.4.5文件夾下,並將opencv_contrib-3.4.5文件夾命名為opencv_contrib。
三、編譯opencv
進入opencv目錄,並在opencv-3.4.5目錄下建一個build文件夾
1 cd opencv-3.4.3 2 mkdir build && cd build 3 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
配置成功,編譯一次。
sudo make
(PS:在這里可以使用sudo make -j8(四核八線程)加速,如果是雙核的話,就改成sudo make -j4。)
sudo make install
至此,opencv安裝完畢。
四、配置環境
sudo vim /etc/ld.so.conf.d/opencv.conf
在文件末尾添加
/usr/local/lib
保存之后再終端執行
1 sudo ldconfig 2 sudo vim /etc/bash.bashrc
在文件末尾添加
1 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 2 export PKG_CONFIG_PATH
source一下,使配置生效
source /etc/bash.bashrc
五、測試opencv是否安裝成功
新建文件夾testcv,在文件夾中新建DisplayImage.cpp文件,
vim DisplayImage.cpp
內容如下:
1 #include <cv.h> 2 #include <highgui.h> 3 #include <opencv2/core/core.hpp> 4 #include <opencv2/highgui/highgui.hpp> 5 6 using namespace cv; 7 int main( int argc, char** argv ) 8 { 9 Mat image; 10 image = imread( argv[1], 1 ); 11 if( argc != 2 || !image.data ) 12 { 13 printf( "No image data \n" ); 14 return -1; 15 } 16 17 namedWindow( "Display Image", CV_WINDOW_AUTOSIZE ); 18 imshow( "Display Image", image ); 19 waitKey(0); 20 return 0; 21 }
在文件夾中新建CMakeLists.txt文件,
vim CMakeLists.txt
內容如下:
1 project( DisplayImage ) 2 find_package( OpenCV REQUIRED ) 3 add_executable( DisplayImage DisplayImage ) 4 target_link_libraries( DisplayImage ${OpenCV_LIBS} )
在終端進入testcv文件夾,新建build文件夾,依次運行
1 mkdir build 2 cd build/ 3 cmake .. 4 make 5 ./DisplayImage 圖像路徑及名稱