在终端中使用以下命令进行安装:
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
第三句安装可能找不到 libjasper-dev 包,还有libtiff-dev提示可用libtiff5-dev代替,将命令改为:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev
下载opencv,这里以opencv3.2.0为例(其他版本可在https://github.com/opencv/opencv找到),在终端执行:
git clone https://github.com/opencv/opencv.git
然后进入目录,并新建一个目录用来编译:
cd opencv
mkdir buildOpencv && cd buildOpencv
对opencv进行配置:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
在buildOpencv目录下执行make以及make install(两次操作时间会很长):
make 成功后 make install
在安装结束后再做些后续工作:
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
安装好后opencv后终端执行pkg-config --cflags opencv这条语句的时候看是否出错:
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
出现如上错误说明缺失了opencv.pc这个配置信息文件,解决方法就是添加这个文件然后将其导入到环境变量中:
cd /usr/local/lib
sudo mkdir pkgconfig && cd pkgconfig
sudo touch opencv.pc
然后在opencv.pc中添加以下信息,注意这些信息需要与自己安装opencv时的库路径对应:
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
Name: opencv
Description: The opencv library
Version:4.0.1
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core
保存退出,然后将文件导入到环境变量:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
再执行 pkg-config --cflags --libs opencv时输出结果如下:
-I/usr/local/include/opencv4 -L/usr/local/lib \
-lopencv_shape -lopencv_stitching -lopencv_objdetect \
-lopencv_superres -lopencv_videostab -lopencv_calib3d \
-lopencv_features2d -lopencv_highgui -lopencv_videoio \
-lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml \
-lopencv_imgproc -lopencv_flann -lopencv_core
运行opencv自带例子进行测试环境(路径:/opencv/sample/cpp/example_cmake/)执行:
make
如果出现fatal error: opencv2/opencv.hpp: No such file or directory则安装:
sudo apt install libopencv-dev
安装完成后再执行make成功生成opencvTest:
运行./opencvTest 可测试摄像头