一、安装依赖库
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 " ); 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 图像路径及名称