SimpleCV安装和使用(用于图像处理、识别)

作者: EEboardMM
上传时间为: 2015-08-07 02:53 PM

本文经过作者同意并委托转载

地址::文章地址

  • 安装SimpleCV

SimpleCV的安装十分简便,首先通过apt-get工具安装支持包:

$ sudo apt-get install ipython python-opencv python-scipy python-numpy python-pygame python-setuptools python-pip

之后通过pip命令下载并安装SimpleCV:

$ sudo pip install <a href="https://github.com/sightmachine/SimpleCV/zipball/develop">https://github.com/sightmachine/SimpleCV/zipball/d...</a>

这样SimpleCV就安装完成了。在终端中输入simplecv即可进入SimpleCV shell。

$ simplecv

如果运行SimpleCV提示缺少相应的组件,也可以通过pip指令进行安装,如笔者在运行时提示缺少svgwirte。

$ sudo pip install svgwrite

图 SimpleCV shell

与Python shell类似,使用SimpleCV shell的好处包括通过tab键自动补全,以及通过help命令方便地查询函数和模块的使用说明。

图 执行help命令(懒得开树莓截图了,抠一张Ubuntu下的图)

另外还可以访问SimpleCV的官方网站http://simplecv.org/查询API帮助并获取入门指导,或阅读Kurt Demaagd等人编著的书籍《Practical Computer Vision with SimpleCV》。

安装完成后,将USB摄像头连接至树莓派,在SimpleCV shell中输入下面的指令来测试图像捕获功能,即通过SimpleCV拍照。第一句指令初始化摄像头,第二句从摄像头获取一帧图像并保存在img变量中,最后一句则将img中保存的图像显示在屏幕上。

图 使用SimpleCV拍照

在Python中使用SimpleCV只需要import模块即可,下面的Python代码实现了相同的拍照效果

import SimpleCV as scv
import time
 
cam = scv.Camera()
img = cam.getImage()
img.show()
time.sleep(10)

将代码保存为cap.py,在终端中运行指令:

python cap.py
  • 图像的输入、输出

SimpleCV支持多种灵活的图像输入、输出方式。下面的命令分别用于读取SimpleCV内置图片、本地保存的图片,以及网络图片。

SimpleCV:1> img1 = Image(“logo”)
SimpleCV:2> img2 = Image(“local_img.jpg”)
SimpleCV:3> img3 = Image(“http : //simplecv.org/assets/SM_logo_color. png”)

获取到的图片,通过save()函数可以保存为多种图片格式。

SimpleCV:1> cam=Camera()
SimpleCV:2> img=cam.getImage()
SimpleCV:3> img.save(“pic.jpg”)
SimpleCV:4> img.save(“pic.png”)
SimpleCV:5> img.save(“pic.bmp”)

对于动态图像的采集,只需要通过逐帧捕获图像,并连续地显示在屏幕上。下面的代码演示了摄像头的连续显示方法:

import SimpleCV as scv
import time
 
cam = scv.Camera()
display = scv.Display(resolution = (800, 600))
 
while display.isNotDone():
    img = cam.getImage()
img.save(display)

代码中的Display模块会以窗口的形式显示,其大小通过resolution属性设定。将图片通过save()函数保存至display就会显示在窗口中。display.isNotDone()用来检测窗口是否被关闭,如果不关闭窗口程序将循环采集和显示摄像头图像。

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示