系统:Ubuntu18.04/CUDA10.0
安装:OpenCV 3.4.0
1.下载源码
OpenCV官网:https://opencv.org/
github地址: https://github.com/opencv/opencv/releases/tag/3.4.0
下载链接
2.安装依赖
首先看官方的安装说明,这个非常有必要,官方写的比较好,基本按照官方说明进行操作就可以了。
官方编译安装说明:https://docs.opencv.org/3.4.1/d7/d9f/tutorial_linux_install.html
安装OpenCV需要先安装必要的工具包。
GCC 4.4.x 或更新CMake 2.8.7 或更高版本GitGTK+2.x 或更高版本, including 头 (libgtk2.0-dev)pkg-configPython 2.6或更高版本以及带有开发人员包的Numpy 1.5或更高版本(Python -dev, Python - Numpy)ffmpeg或libav开发包:libavcodec-dev,libavformat-dev,libswscale-dev[可选] libtbb2 libtbb-dev[可选] libdc1394 2.x[可选] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev[可选] CUDA Toolkit 6.5 or higher在终端中依次输入指令
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可能会报错
E: 无法定位软件包 libjasper-dev
输入
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"继续运行
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev3.编译安装
解压源码
tar xvzf opencv-3.4.0.tar.gz新建文件夹并进入
mkdir linuxidcbuild cd linuxidcbuild/执行cmake
cmake ../opencv-3.4.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local然后进行编译make(这一步会很慢要等很长时间)
make中间进度到75%左右可能会报错,具体情况见上篇博文解决“fatal error: dynlink_nvcuvid.h: 没有那个文件或目录#include <dynlink_nvcuvid.h>“问题
安装
sudo make install查看安装结果
pkg-config --cflags --libs opencv4.配置文件
安装完成之后配置文件
sudo gedit /etc/ld.so.conf.d/opencv.conf打开文件可能是空白的,没有关系,在文件中添加
/usr/local/lib
使配置生效
sudo ldconfig添加环境变量
sudo gedit /etc/bash.bashrc在文件最后添加
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig使环境变量生效
source /etc/bash.bashrc5.最后测试
cd到opencv-3.4.0/smaples/cpp/example_cmake目录下
按顺序执行
cmake . make ./opencv_examplemake之后可能会报错
//usr/lib/x86_64-linux-gnu/libatk-1.0.so.0:对‘g_log_structured_standard’未定义的引用 collect2: error: ld returned 1 exit status CMakeFiles/opencv_example.dir/build.make:134: recipe for target 'opencv_example' failed make[2]: *** [opencv_example] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/opencv_example.dir/all' failed make[1]: *** [CMakeFiles/opencv_example.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2错误的原因:/usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 被Anaconda中新版本的libglib编译。
Ubuntu18.04版本中是:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.1)Anaconda :~/anaconda3/lib/libglib-2.0.so.0.5306.0 in this moment解决方法:
安装最新版的glib库 conda install -c anaconda glib 在终端输入: grep -l g_log_structured_standard /usr/lib/x86_64-linux-gnu/*glib*.so* grep -l g_log_structured_standard ~/anaconda3/lib/*glib*so* 移动文件 mv ~/anaconda3/lib/libglib-2.0.so.0 ~/anaconda3/lib/libglib-2.0.so.0.backup问题解决!
再次输入./opencv_example
出现黑色弹窗"Hello OpenCV",终端中出现
至此,Ubuntu18.04安装OpenCV完成.
参考博客
Caffe-SSD错误:ImportError: /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0: undefined symbol: g_log_structur
