安装依赖
必须要安装的依赖,通过命令安装:
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
如果需要其他的功能,还需安装一些,命令:
sudo apt-get install python-dev python-numpy python3-dev python3-numpy
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
安装OpenCV
下载OpenCV的安装包,OpenCV官网下载地址
在这里我下载OpenCV4.0的安装包,下载Sources包,解压:
unzip opencv-4.0.1.zip
在解压的文件夹里新建一个文件夹用来编译OpenCV:
cd opencv-4.0.1
mkdir release
cd release
然后在新建的这个文件里运行cmake:
cmake -DCMAKE_BUILD_TYPE=Release \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local ..
OpenCV4默认不生成.pc文件,OPENCV_GENERATE_PKGCONFIG=ON才会生成。
之后就是编译和安装了,我的电脑是四核八线程,可以运行make -j8,但我不想编译时影响我工作,所以用-j7,如果是四核可用make -j4。
make -j7
sudo make install
如果你安装了python-dev,这时Python应该可以使用OpenCV了,在终端输入python,可以查看OpenCV版本:
$ python
>>> import cv2
>>> cv2.__version__
'4.0.1'
>>>
之后就是配置c++了,先在/etc/ld.so.conf.d/文件夹下新建一个opencv4.conf,里面写入/usr/local/lib。
cd /etc/ld.so.conf.d/
sudo touch opencv4.conf
sudo sh -c 'echo "/usr/local/lib" > opencv4.conf'
更新pkg-config:
sudo ldconfig
之后可以在终端输入pkg-config --libs opencv4和pkg-config --cflags opencv4检验一下,我的输出如下:
$ pkg-config --libs opencv4
-L/usr/local/lib -lopencv_dnn -lopencv_gapi -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_flann -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core
最后编译一个cpp文件庆祝一下,进入<你的目录>/opencv-4.0.1/samples/cpp/下,用g++编译:
g++ `pkg-config --cflags opencv4` drawing.cpp `pkg-config --libs opencv4` -o drawing.out
./drawing.out
drawing.cpp是你要编译的文件,-o后面的是生成文件,默认生成a.out文件;./drawing.out是执行。
OpenCV的卸载
删掉opencv4.conf文件,再在你编译的文件夹(我的是release)下运行sudo make uinstall即可。
OpenCV3的安装
OpenCV3版本的安装略有不同,编译后其生成的是opencv.pc,所以要建立一个opencv.conf文件,编译命令:
g++ `pkg-config --cflags --libs opencv` drawing.cpp
参考文章:OpenCV:Installation in linux