Python for Computer Vision 2

Operators


Data structures

Sets and Statistics


Debugging example


Fancy indexing

Ndimage

Ndvision


Refactoring


Publication quality plots


Publication quality plots code

import matplotlib.pyplot as plt
from matplotlib import rc

fig = plt.gcf()
rc('text', usetex=True)
rc('font', family='serif')
rc('legend', fontsize='medium')

plt.plot(np.arange(10)**2)
plt.xlabel('$x$')
plt.ylabel('$x^2$')
plt.show()
plt.savefig('graph.pdf')

Visualisation


Example Visualisation

Video cuboid Video cuboid


Example Visualisation Code

#! /usr/bin/ipython -wthread
import pylab
import enthought.mayavi.mlab as mlab
I = pylab.imread('dichroic.png')
mlab.surf(100*I[...,0])
mlab.savefig('dichroicsurf.png')

Simple animations

from pylab import *
import time

ion()

tstart = time.time()               # for profiling
x = arange(0,2*pi,0.01)            # x-array
line, = plot(x,sin(x))
for i in arange(1,200):
    line.set_ydata(sin(x+i/10.0))  # update the data
    draw()                         # redraw the canvas

print 'FPS:' , 200/(time.time()-tstart)

Examining Video


Computer Vision


Frame differencing demo

import sys
import time
import cv

def get_image():
    return cv.QueryFrame(camera)

#camera = cv.CreateCameraCapture(0)
camera = cv.CaptureFromFile('/jcr/coding/opencv/tree.avi')

cv.NamedWindow('Frame Difference')
cv.NamedWindow('Original')
cv.StartWindowThread()
lastim = get_image()
D = cv.CloneImage(lastim)

while True:
    im = get_image()
    if im == None: break
    cv.AbsDiff(im, lastim , D)
    cv.ShowImage('Frame Difference', D) 
    cv.ShowImage('Original', im) 
    lastim = cv.CloneImage(im)
    keypress = cv.WaitKey(200)

Data analysis



Example Parsing of a data file


Performance


Misc


Debugging C called from python


Relevant Software Libraries and Tools


Further information


Scientific programming with Python