ubuntu快速安装opencv3 支持c++ 和python
本文不介绍如何编译opencv 而是直接使用编译完后的安装包。详细步骤如下
第一步 确认Ubuntu系统版本信息
uname -a
Linux lid-VirtualBox 4.4.0-142-generic #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
第二步 确认gcc 版本
gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.4'
--with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++
--prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug -
-enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap
--enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
--enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre
--enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch
--disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu Thread model: posix gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.4)
第三步 下载opencv 编译后的包
insatll 的包树目录如下
lid@lid-VirtualBox:~/localbuild-opencv3/install$ tree -L 3
.
├── bin
│ ├── opencv_annotation
│ ├── opencv_createsamples
│ ├── opencv_interactive-calibration
│ ├── opencv_traincascade
│ ├── opencv_version
│ ├── opencv_visualisation
│ └── opencv_waldboost_detector
├── include
│ ├── opencv
│ │ ├── cvaux.h
│ │ ├── cvaux.hpp
│ │ ├── cv.h
│ │ ├── cv.hpp
│ │ ├── cvwimage.h
│ │ ├── cxcore.h
│ │ ├── cxcore.hpp
│ │ ├── cxeigen.hpp
│ │ ├── cxmisc.h
│ │ ├── highgui.h
│ │ └── ml.h
│ └── opencv2
│ ├── aruco
│ ├── aruco.hpp
│ ├── bgsegm.hpp
│ ├── bioinspired
│ ├── bioinspired.hpp
│ ├── calib3d
│ ├── calib3d.hpp
│ ├── ccalib
│ ├── ccalib.hpp
│ ├── core
│ ├── core.hpp
│ ├── cvconfig.h
│ ├── datasets
│ ├── dnn
│ ├── dnn.hpp
│ ├── dpm.hpp
│ ├── face
│ ├── face.hpp
│ ├── features2d
│ ├── features2d.hpp
│ ├── flann
│ ├── flann.hpp
│ ├── freetype.hpp
│ ├── fuzzy
│ ├── fuzzy.hpp
│ ├── highgui
│ ├── highgui.hpp
│ ├── imgcodecs
│ ├── imgcodecs.hpp
│ ├── imgproc
│ ├── imgproc.hpp
│ ├── line_descriptor
│ ├── line_descriptor.hpp
│ ├── ml
│ ├── ml.hpp
│ ├── objdetect
│ ├── objdetect.hpp
│ ├── opencv.hpp
│ ├── opencv_modules.hpp
│ ├── optflow
│ ├── optflow.hpp
│ ├── phase_unwrapping
│ ├── phase_unwrapping.hpp
│ ├── photo
│ ├── photo.hpp
│ ├── plot.hpp
│ ├── reg
│ ├── rgbd
│ ├── rgbd.hpp
│ ├── saliency
│ ├── saliency.hpp
│ ├── shape
│ ├── shape.hpp
│ ├── stereo
│ ├── stereo.hpp
│ ├── stitching
│ ├── stitching.hpp
│ ├── structured_light
│ ├── structured_light.hpp
│ ├── superres
│ ├── superres.hpp
│ ├── surface_matching
│ ├── surface_matching.hpp
│ ├── text
│ ├── text.hpp
│ ├── tracking
│ ├── tracking.hpp
│ ├── video
│ ├── video.hpp
│ ├── videoio
│ ├── videoio.hpp
│ ├── videostab
│ ├── videostab.hpp
│ ├── xfeatures2d
│ ├── xfeatures2d.hpp
│ ├── ximgproc
│ ├── ximgproc.hpp
│ ├── xobjdetect.hpp
│ ├── xphoto
│ └── xphoto.hpp
├── lib
│ ├── libopencv_aruco.a
│ ├── libopencv_bgsegm.a
│ ├── libopencv_bioinspired.a
│ ├── libopencv_calib3d.a
│ ├── libopencv_ccalib.a
│ ├── libopencv_core.a
│ ├── libopencv_datasets.a
│ ├── libopencv_dnn.a
│ ├── libopencv_dpm.a
│ ├── libopencv_face.a
│ ├── libopencv_features2d.a
│ ├── libopencv_flann.a
│ ├── libopencv_freetype.a
│ ├── libopencv_fuzzy.a
│ ├── libopencv_highgui.a
│ ├── libopencv_imgcodecs.a
│ ├── libopencv_imgproc.a
│ ├── libopencv_line_descriptor.a
│ ├── libopencv_ml.a
│ ├── libopencv_objdetect.a
│ ├── libopencv_optflow.a
│ ├── libopencv_phase_unwrapping.a
│ ├── libopencv_photo.a
│ ├── libopencv_plot.a
│ ├── libopencv_reg.a
│ ├── libopencv_rgbd.a
│ ├── libopencv_saliency.a
│ ├── libopencv_shape.a
│ ├── libopencv_stereo.a
│ ├── libopencv_stitching.a
│ ├── libopencv_structured_light.a
│ ├── libopencv_superres.a
│ ├── libopencv_surface_matching.a
│ ├── libopencv_text.a
│ ├── libopencv_tracking.a
│ ├── libopencv_video.a
│ ├── libopencv_videoio.a
│ ├── libopencv_videostab.a
│ ├── libopencv_xfeatures2d.a
│ ├── libopencv_ximgproc.a
│ ├── libopencv_xobjdetect.a
│ ├── libopencv_xphoto.a
│ ├── pkgconfig
│ │ └── opencv.pc
│ ├── python2.7
│ │ └── dist-packages
│ └── python3.4
│ └── dist-packages
└── share
└── OpenCV
├── 3rdparty
├── haarcascades
├── lbpcascades
├── OpenCVConfig.cmake
├── OpenCVConfig-version.cmake
├── OpenCVModules.cmake
└── OpenCVModules-release.cmake
52 directories, 108 files
ubuntu-opencv3.4-install.tar.gz大小:64MB | 来源:百度网盘
已经过安全软件检测无毒,请您放心下载。
提取码[lv]8su9[/lv]
第四步 python支持
cd install/lib sudo cp python2.7/dist-packages/cv2.so /usr/local/lib/python2.7/dist-packages/
ldconfig
这样便可以支持opencv python2.7 版本
sudo cp python3.4/dist-packages/cv2.cpython-34m.so /usr/local/lib/python3.4/dist-packages/
ldconfig
这样便可以支持opencv python3.4 版本。
注意:
dist-packages:系统自带的python
site-packages:自己安装的python
这里只编译了Ubuntu自带的python 程序。
第五步测试
lid@lid-VirtualBox:~/localbuild-opencv3/install/lib$ python3.4 Python 3.4.3 (default, Nov 12 2018, 22:25:49) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> print(cv2.__version__) 3.2.0 >>>
第六步 c++
将usr lib的头文件和库分别拷贝到 /usr/locl/lib include 下便可以使用c++版本。







