博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu 18.04安装OpenCV
阅读量:4127 次
发布时间:2019-05-25

本文共 2837 字,大约阅读时间需要 9 分钟。

系统: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 或更高版本
  • Git
  • GTK+2.x 或更高版本, including 头 (libgtk2.0-dev)
  • pkg-config
  • Python 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-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo 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-dev

3.编译安装

解压源码

tar xvzf opencv-3.4.0.tar.gz

新建文件夹并进入

mkdir linuxidcbuildcd linuxidcbuild/

执行cmake

cmake ../opencv-3.4.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local

然后进行编译make(这一步会很慢要等很长时间)

make

中间进度到75%左右可能会报错,具体情况见上篇博文

安装

sudo make install

查看安装结果

pkg-config --cflags --libs opencv

4.配置文件

安装完成之后配置文件

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.bashrc

5.最后测试

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

按顺序执行

cmake .make./opencv_example

make之后可能会报错

//usr/lib/x86_64-linux-gnu/libatk-1.0.so.0:对‘g_log_structured_standard’未定义的引用collect2: error: ld returned 1 exit statusCMakeFiles/opencv_example.dir/build.make:134: recipe for target 'opencv_example' failedmake[2]: *** [opencv_example] Error 1CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/opencv_example.dir/all' failedmake[1]: *** [CMakeFiles/opencv_example.dir/all] Error 2Makefile:83: recipe for target 'all' failedmake: *** [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完成.

 

参考博客

转载地址:http://vrrpi.baihongyu.com/

你可能感兴趣的文章
第七章 - 本地方法栈
查看>>
第十一章 - 直接内存
查看>>
JDBC核心技术 - 上篇
查看>>
一篇搞懂Java反射机制
查看>>
MySQL主从复制不一致的原因以及解决方法
查看>>
RedisTemplate的key默认序列化器问题
查看>>
序列化与自定义序列化
查看>>
ThreadLocal
查看>>
从Executor接口设计看设计模式之最少知识法则
查看>>
OKhttp之Call接口
查看>>
application/x-www-form-urlencoded、multipart/form-data、text/plain
查看>>
关于Content-Length
查看>>
WebRequest post读取源码
查看>>
使用TcpClient可避免HttpWebRequest的常见错误
查看>>
EntityFramework 学习之一 —— 模型概述与环境搭建 .
查看>>
C# 发HTTP请求
查看>>
启动 LocalDB 和连接到 LocalDB
查看>>
Palindrome Number --回文整数
查看>>
Reverse Integer--反转整数
查看>>
Container With Most Water --装最多水的容器(重)
查看>>