Ubuntu环境下opencv3_4_0编译安装

opencv3.4编译安装

Pre.前期准备

下载OpenCV源码包

进入OpenCV官方下载页面https://opencv.org/releases.html

选择Sources类型 下载(这里以Opencv3.4.0为例)

Aaron Swartz

1.安装依赖包

sudo apt-get install cmake 
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev  

2.编译 opencv

解压之前下载好的源码包tar zcvf Opencv压缩包名称.tar.gz 想要解压的路径

进入OpenCV源码目录(总有zz在根目录进行下面的操作,在这里强调一下,动动脑子!)

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make
sudo make install

所涉及的命令具体含义自行学习CMake的基本操作

3.添加路径

配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

sudo gedit /etc/ld.so.conf.d/opencv.conf 

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

/usr/local/lib  

执行如下命令使得刚才的配置路径生效

sudo ldconfig  

配置bash

sudo gedit /etc/bash.bashrc  

在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

保存,执行如下命令使得配置生效

source /etc/bash.bashrc  

更新

sudo updatedb  

4.测试

至此所有的配置都已经完成
下面用一个小程序测试一下

cd到opencv-3.4.0/smaples/cpp/example_cmake目录下

我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下
按顺序执行

cmake .
make
./opencv_example

即可看到打开了摄像头,在左上角有一个hello opencv 即表示配置成功

5.编写程序

把opencv-3.4.0/samples/cpp/example_cmake中的Makefile和CMakeLists.txt复制一份到源文件同级目录,用4 中方法编译执行

6.问题

error0:

在编译过程中会涉及到ippicv的下载,有时候下载很慢或者下载不能成功,解决方案有两种:

1.开启 科学上网

2.可以先单独下载ippicv_linux_20151201.tgz之后,把其移动到终端所提示的路径(终端会提示该路径找不到文件

移动的时候,可以另外打开一个终端操作

下载地址https://github.com/opencv/opencv_3rdparty/branches/all(版本视终端提示而定)

error1:

lib/libopencv_videoio.so.3.1.0: undefined reference to `gst_app_sink_pull_sample’
collect2: error: ld returned 1 exit status
modules/video/CMakeFiles/opencv_test_video.dir/build.make:388: recipe for target ‘bin/opencv_test_video’ failed

solution:

找到”OpenCVCompilerOptions.cmake”文件add_extra_compiler_option(-Werror=non-virtual-dtor)
一行添加 #http://stackoverflow.com/questions/27828740/opencv-3-0-videoio-error

error2:

GstMiniObjectClass’ does not name a type

solution2:

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

猜你喜欢

转载自blog.csdn.net/qq_39785575/article/details/80719415