Processing images with PIL
Why use Python for image processing if we can use WIMP (http://en.wikipedia.org/wiki/WIMP_(computing)) or WYSIWYG (http://en.wikipedia.org/wiki/WYSIWYG) to achieve the same goal? Python is used because we want to create an automated system to process images in real time without human support, thus optimizing the image pipeline.
Getting ready
Note that the PIL coordinate system assumes that the (0,0) coordinate is in the upper-left corner.
The Image
module has a useful class and instance method for performing basic operations over a loaded image object (im
):
im = Image.open(filename)
: This opens a file and loads the image into theim
object.im.crop(box)
: This crops the image inside the coordinates defined bybox
.box
defines the left, upper, right, and lower pixel coordinates (for example,box = (0, 100, 100,100))
.im.filter(filter)
: This applies a filter on the image and returns a filtered image.im.histogram()
: This returns a histogram list for this image, where...