Seeing with Python - Pycon SG 2014

Post on 06-Jul-2015

372 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

My Computer Vision with Python talk given at Pycon Singapore 2014

Transcript

Mark Rees

CTO

Century Software

What is Computer Vision – 1980’s

Then it was called Machine Vision

"the automatic acquisition and analysis of images to obtain desired data for interpreting

a scene or controlling an activity" (Schaffer, 1984).

cnt dw $0000

src dw $0000dst dw $0000

memcpy publicldab cnt+1 ;Set B = cnt.Lbeq check ;If cnt.L=0, goto check

loop ldx src ;Set IX = srcldaa ix ;Load A from (src)inx ;Set src = src+1stx srcldx dst ;Set IX = dststaa ix ;Store A to (dst)inx ;Set dst = dst+1stx dstdecb ;Decr Bbne loop ;Repeat the loopstab cnt+1 ;Set cnt.L = 0

check tst cnt+0 ;If cnt.H=0,beq done ;Then quitdec cnt+0 ;Decr cnt.Hdecb ;Decr Bbra loop ;Repeat the loop

done rts ;Return

What is Computer Vision - 2014

“Computer vision is a field that includes methods for acquiring, processing, analyzing, and understanding images and, in general, high-dimensional data from the real world in order to produce numerical or symbolic information, e.g., in the forms of decisions. A theme in the development of this field has been to duplicate the abilities of human vision by electronically perceiving and understanding an image. This image understanding can be seen as the disentangling of symbolic information from image data using models constructed with the aid of geometry, physics, statistics, and learning theory. Computer vision has also been described as the enterprise of automating and integrating a wide range of processes and representations for vision perception.” (Wikipedia 2014 http://en.wikipedia.org/wiki/Computer_Vision)

What is Computer Vision - 2014

Computer Vision – My Reality

CV is a lot more than grabbing an image

CV

Object IlluminationImage

Capture

Sensors/Cameras Digitisation/Conversion

Image

Processing

Algorithm

DevelopmentImplementation

Display Control

Python Imaging Library

Pillow – The friendly PIL fork python 2.6+, 3.2+http://python-pillow.github.io/

PIL – The “original” PIL python 1.52+, 2.0+ last release 11/2009 http://effbot.org/downloads

Demo: PIL.ipynb

Scipy ndimage

N dimensional array image processing

http://docs.scipy.org/doc/scipy/reference/ndimage.html

Demo: Multi-demensional image processing.ipynb

SimpleCV

SimpleCV is an open source framework for building computer vision applications. With it, you get access to several high-powered computer vision libraries such as OpenCV – without having to first learn about bit depths, file formats, color spaces, buffer management, eigenvalues, or matrix versus bitmap storage.

http://simplecv.org/

Demo: SimpleCV - The Basics.ipynb

Pygame dependency caused me some problemsNot all image manipulation worked in ipython. Simplecvshell is where all functionality works.

Raspberry Pi CV

OpenCV available but USB cameras slowRpi camera faster, uses GPU, doesn’t work with OpenCVapt-get install python-picamera solves that.http://picamera.readthedocs.org/en/release-1.5/

Resources

http://www.packtpub.com/opencv-computer-vision-with-python/book

http://programmingcomputervision.com/There also is a Python CV module PCV

http://szeliski.org/Book/Computer Vision: Algorithms and Applications

Mark Reesmark@censof.com

+Mark Rees

@hexdump42

hex-dump.blogspot.com

https://bitbucket.org/hexdump42/seeing-in-python-pycon-sg-2014

Contact Details

top related