Seeing with Python - Pycon SG 2014


Published on

My Computer Vision with Python talk given at Pycon Singapore 2014

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Seeing with Python - Pycon SG 2014

  1. 1. Mark Rees CTO Century Software
  2. 2. 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 $0000 dst dw $0000 memcpy public ldab cnt+1 ;Set B = cnt.L beq check ;If cnt.L=0, goto check loop ldx src ;Set IX = src ldaa ix ;Load A from (src) inx ;Set src = src+1 stx src ldx dst ;Set IX = dst staa ix ;Store A to (dst) inx ;Set dst = dst+1 stx dst decb ;Decr B bne loop ;Repeat the loop stab cnt+1 ;Set cnt.L = 0 check tst cnt+0 ;If cnt.H=0, beq done ;Then quit dec cnt+0 ;Decr cnt.H decb ;Decr B bra loop ;Repeat the loop done rts ;Return
  3. 3. 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
  4. 4. What is Computer Vision - 2014
  5. 5. Computer Vision – My Reality
  6. 6. CV is a lot more than grabbing an image CV Object Illumination Image Capture Sensors/Cameras Digitisation/Conversion Image Processing Algorithm Development Implementation Display Control
  7. 7. Python Imaging Library Pillow – The friendly PIL fork python 2.6+, 3.2+ PIL – The “original” PIL python 1.52+, 2.0+ last release 11/2009 Demo: PIL.ipynb
  8. 8. Scipy ndimage N dimensional array image processing Demo: Multi-demensional image processing.ipynb
  9. 9. 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. Demo: SimpleCV - The Basics.ipynb Pygamedependency caused me some problems Not all image manipulation worked in ipython. Simplecv shell is where all functionality works.
  10. 10. PyOpenCV Official python wrapper for OpenCV C/C++ libraries Two namespaces cv & cv2. Use cv2, cv deprecated Basis of SimpleCV and other python CV libraries Demo: OpenCV - The Basics.ipynb Demo: OpenCV Motion Detection.ipynb Demo: OpenCV Face Detection.ipynb
  11. 11. Raspberry Pi CV OpenCV available but USB cameras slow Rpi camera faster, uses GPU, doesn’t work with OpenCV apt-get install python-picamera solves that.
  12. 12. Resources vision-with-python/book There also is a Python CV module PCV Computer Vision: Algorithms and Applications
  13. 13. Mark Rees +Mark Rees @hexdump42 2014 Contact Details