在Ubuntu14.04 64位 虚拟机上安装opencv3.4.4(从头到尾流程+对问题进行解决版)

本教程的最终安装环境:

  • win10 64位PC
  • VMware10.0
  • ubuntu 14.04LTS
  • Opencv 3.4.4

本教程的目的,虽然网上已经有很多如何在ubuntu14.04上安装opencv的教程,但是我在实际操作过程中还是遇到很多问题,也找了一些博客才解决,所以可以理解这边文就是对其他人的博客进行集合,同时我也是通过这些博客成功安装上,也就当作一次记录学习的过程。

一、安装前的准备

首先先在官网上下载ubuntu14.04LTS的镜像,在VMWare上安装虚拟机。此处,虚拟机以及ubuntu的安装自行解决。
注:此处用的虚拟机是VMWare10.0

ubuntu14.04.5 LTS.ios下载网站:http://releases.ubuntu.com/14.04/ubuntu-14.04.5-desktop-amd64.iso.torrent

opencv3.4.4下载网站:https://github.com/opencv/opencv/archive/3.4.4.zip

二、依赖库的安装

在百度上找到一篇博客教导如何安装在ubuntu14下安装opencv3.4.4。
网站:https://www.cnblogs.com/asmer-stone/p/5089764.html

下面就这篇博客正常流程安装,并在出现问题的时候对问题进行解决并会附上问题解决所用到的资料(网站)。

下面内容中,标记文本(黄字)是上面网站的安装流程,需要跟着输入。

问题1:新安装的ubuntu没法进入root账户。

解决方法:https://jingyan.baidu.com/article/fd8044fa1e74035031137ae0.html

打开Ubuntu终端(ctrl+alt+T)
输入命令:sudo passwd root
输入密码,并确认密码。

这个问题是因为新安装的ubuntu并没有设置root账户的用户密码,所以需要自行手动设置。才可以进行下面的步骤

流程1:sudo apt-get install build-essential

问题2:安装build-essential的时候出现依赖包缺少,如果直接安装依赖包 dpkg-dev,会提示依赖包libdpkg-perl 缺失,继续安装依赖包libdpkg-perl 会提示版本不对。

安装build-essential的时候,会出现


报依赖错误如下:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that youhave
requested an impossible situation or if you are using theunstable
distribution that some required packages have not yet beencreated
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
build-essential :Depends: dpkg-dev (>= 1.13.5) but itis not going to be installed
E: Unable to correct problems, you have held brokenpackages.

等问题,如果去安装dpkg-dev时会继续报出缺少依赖包。
解决方法:https://blog.csdn.net/sunranlb/article/details/46946147

所以解决办法如下:
1、移除libdpkg-perl这个软件:
# sudo apt-get remove libdpkg-perl
2、再安装libdpkg-perl:
# sudo apt-get install libdpkg-perl
3、再安装build-essential就可以正常安装了:
# sudo apt-get install build-essential

通过这个方法就可以正常安装build-essential,完成流程1

==流程2:sudo apt-get install cmake git ==
上面这两个我是先进行安装,正常安装完成

==流程3:sudo apt-get install libgtk2.0-dev ==

问题3:安装libgtk2.0-dev时报以下错误
下列软件包有未满足的依赖关系:
libgtk2.0-dev : 依赖: libgtk2.0-0 (= 2.24.23-0ubuntu1) 但是 2.24.23-0ubuntu1.1 正要被安装
   依赖: libpango1.0-dev (>= 1.20) 但是它将不会被安装
   依赖: libcairo2-dev (>= 1.6.4-6.1) 但是它将不会被安装
   推荐: debhelper 但是它将不会被安装

E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

根据网上博客的说法,是因为软件源的问题。此处我们的解决方法是:https://www.bbsmax.com/A/D8542Px3zE/

  • 1、备份原来的源
    sudo cp /etc/apt/sources.list /etc/apt/sources_bk.list
  • 2、更换源
    sudo gedit /etc/apt/sources.list
    根据自己ubuntu的版本在:
    http://wiki.ubuntu.org.cn/如何使用我们推荐的源
    选择不同的源,本教程的版本是14.04.所以使用的源是:
deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
##測試版源
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
# 源碼
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
##測試版源
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
# Canonical 合作夥伴和附加
deb http://archive.canonical.com/ubuntu/ trusty partner
deb http://extras.ubuntu.com/ubuntu/ trusty main

把上面的源替代/etc/apt/sources.list里的源。

  • 3、更新源
sudo apt-get update
  • 4、再次安装
    如果执行上面的操作在安装libgtk2.0-dev的时候还是报错,请输入
sudo apt-get update && apt-get autoclean
sudo apt-get install  libgtk2.0-dev

此时libgtk2.0-dev正常安装

流程4:sudo apt-get install pkg-config libavcodec-dev libavformat-dev libswscale-dev

可以正常安装,完成了:https://www.cnblogs.com/asmer-stone/p/5089764.html 中的依赖关系的第二步

接下来再接再励,输入
流程5:sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

完成依赖包的全部安装

三、opencv的安装

一、安装前的准备 中下载的opencv3.4.4.zip复制到根目录下的新建文件夹 opencv 中(此处斜体加粗表示为文件夹)

cd /
mkdir opencv
cd opencv
cp {opencv.zip所在的目录}/opencv-3.4.4.zip  ./

解压opencv-3.4.4.zip

unzip opencv-3.4.4.zip

进入 opencv 文件夹下同时新建编译目录

cd opencv
mkdir my_build_dir
cd my_build_dir
cmake ../opencv-3.3.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local
make j7 #官方推荐开7个进程
make install

参考链接:http://www.cnblogs.com/uestc-mm/p/7338244.html

make过程图片:

在Ubuntu14.04 64位 虚拟机上安装opencv3.4.4(从头到尾流程+对问题进行解决版)_第1张图片

make完成的图片:
make完成的图片

make install过程图片:
在Ubuntu14.04 64位 虚拟机上安装opencv3.4.4(从头到尾流程+对问题进行解决版)_第2张图片

四、opencv的测试

这时候先写一个小程序测试一下

vim opencvtest.py

程序代码:

#-*- coding:utf-8 -*-
import cv2

Image = cv2.imread('xxx.jpg')  #xxx.jpg自己命名,同时把图片和程序放在同个目录下
print Image

运行程序

python opencvtest.py

这时候有可能会报错
opencv未正常调用

解决方法是:

sudo apt-get install python-opencv

安装完成后,再次运行opencvtest.py正常输出
在Ubuntu14.04 64位 虚拟机上安装opencv3.4.4(从头到尾流程+对问题进行解决版)_第3张图片

你可能感兴趣的:(嵌入式学习)