在Ubuntu上安装OpenCV3.0+和Python2.7+环境(转)

Ubuntu 16.04LTS版本,安装OpenCV3.0+环境。
转的文章,亲测可用!

在这里介绍怎么在Ubuntu系统上安装OpenCV和Python。在安装完成后,写一个简单的Python脚本,测试OpenCV是否安装成功。

一、 更新系统中的安装包

$ sudo apt-get update
$ sudo apt-get upgrade

二、 安装基本的开发工具

$ sudo apt-get install build-essential cmake git pkg-config

三、 安装图像IO包

$ sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev

四、 安装GTK图像开发包

现在我们已经可以加载硬盘中的图片了,但是我们怎么显示呢?答案是使用GTK图形开发库:OpenCV的highgui模块的图形用户接口依赖GTK。

$ sudo apt-get install libgtk2.0-dev

五、 安装视频解码器

我们可以加载图片了,但是视频呢。我们需要处理视频流并分离出单独的帧,下面安装各种视频解码器:

$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

六、安装OpenCV优化库

这些库可以优化OpenCV的某些功能

$ sudo apt-get install libatlas-base-dev gfortran

七、安装虚拟环境

安装 virtualenv 和 virtualenvwrapper(虚拟环境)。这两个包允许我们为每个项目创建分离的Python环境。这两个包不是必须的,但是我建议你安装。使用虚拟环境不用担心把开发环境整乱。

$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/.cache/pip

编辑更新 ~/.bashrc 文件,在文件中加入:

# virtualenv and virtualenvwrapper
$ export WORKON_HOME=$HOME/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh

为了使用更改生效,刷新.bashrc,或重启终端:

$ source ~/.bashrc

我们创建一个叫cv的Python虚拟环境。把和OpenCV相关的库放到cv里:

$ mkvirtualenv cv

你会看到在命令行提示符前有(cv),这表示你正在使用cv这个虚拟环境。

八、 安装Python2.7和numpy

九、 配置OpenCV

Python环境设置完毕,现在我们来配置OpenCV。从github下载OpenCV源码:


$ cd ~
$ git clone https://github.com/Itseez/opencv.git
$ cd opencv
$ git checkout 3.0.0

下载 opencv_contrib(OpenCV 3.0的一些新特性,包括文字识别、SIFT, SURF….):

$ cd ~
$ git clone https://github.com/Itseez/opencv_contrib.git
$ cd opencv_contrib
$ git checkout 3.0.0

设置编译选项:

$ cd ~/opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..

编译OpenCV:

$ make -j4

你可以把4替换为你cpu的核心数。
下面是正在编译的样子:
这里写图片描述

假设编译过程没有错误,我们就可以把OpenCV安装到系统中了:

$ sudo make install
$ sudo ldconfig

十、 将python安装到cv环境里

OpenCV Python模块应该安装了 /usr/local/lib/python2.7/site–packages。
把库链接到cv虚拟环境中:

$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

十一、 查看OpenCV版本
到这OpenCV已经安装完成;查看OpenCV版本:

(cv)tian@tian-VirtualBox:~$ workon cv
(cv)tian@tian-VirtualBox:~$ python
Python 2.7.6 (default, JUN 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.0.0'

先进入虚拟环境,再查看。

十二、
用Python脚本识别图片的红色游戏卡:
这里写图片描述

find_red_game.py:

# -*- coding:utf-8 -*-
# 导入使用的包
import numpy as np
import cv2

# 加载图片
image = cv2.imread("gamecards.jpg")

# 在图片中找到红色的游戏卡
upper = np.array([65, 65, 255])
lower = np.array([0, 0, 200])
mask = cv2.inRange(image, lower, upper)

# 找到轮廓并保留最大的
(_, cnts, _) = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
c = max(cnts, key = cv2.contourArea)

# 轮廓近似
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.05*peri, True)

# 把红色卡用绿框框住
cv2.drawContours(image, [approx], -1, (0, 255, 0), 4)
cv2.imshow("Image", image)
cv2.waitKey(0)

执行结果:
这里写图片描述
大功告成!这就搭配好环境啦~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值