ia636 - Python Toolbox for Teaching Image Processing

Functions and demonstrations of the use of Numpy in image processing courses


This is a collection of general image processing functions written in Python with a collection of lessons used in the IA636 course (Visao Computacional) taught at University of Campinas, Brazil.

This toolbox has been developed in the Adessowiki environment. To know more about Adessowiki, please access the MainPage and the history of the project: History.

The template to create a new function is iaftemplate


  • iachess - Illustrate the many ways to create an image of a chess like template
  • iauint8pitfalls- Common errors processing uint8 data
  • iagenimages - Illustrate the generation of different images
  • iaprofiledemo - Illustrate the extraction and plotting of a profile
  • iagengauss - Illustrate the generation of d-dimensional Gaussian image
  • iait - Illustrate the contrast transform function
  • iahisteq - Illustrate how to make a histogram equalization
  • iacorrdemo - Illustrate the Template Matching technique
  • iaphasecorrdemo - Illustrate the phase correlation technique
  • iadftdecompose - Illustrate the decomposition of the image in primitive 2-D waves.
  • iacosdemo - Illustrate discrete cosine wave and its DFT showing its periodic nature.
  • iadftexamples - Demonstrate the DFT spectrum of simple synthetic images.
  • iadftmatrixexamples - Demonstrate the kernel matrix for the DFT Transform.
  • iadftscaleproperty - Illustrate the scale property of the Discrete Fourier Transform.
  • iaconvteo - Illustrate the convolution theorem
  • iahotelling - Illustrate the Hotelling Transform
  • iainversefiltering - Illustrate the inverse filtering for restoration.
  • iamagnify - Illustrate the interpolation of magnified images
  • iamosaicdemo - Illustrate the use of mosaic to show 3D images
  • iaotsudemo - Illustrate the Otsu Thresholding Selection Method


Halftoning Approximation

Color Processing

Geometric Manipulations

  • iaffine - Affine transform. Supports 3D but no interpolation.
  • iaffine3 - Enhanced Affine transform. Supports 3D transforms, color images and linear interpolation.
  • iageorigid - 2D Rigid body geometric transformation and scaling.
  • iapolar - Cartesian to polar coordinate transformation.
  • iaptrans - Periodic translation.
  • iarot90 - 3D 90-degree rotation

Image Filtering

  • iabwlp - Low-Pass Butterworth frequency filter.
  • ialogfilter - Laplacian of Gaussian filter.
  • iacontour - Contours of binary images.
  • iaconv - 2D or 3D convolution.
  • iapconv - 2D or 3D periodic convolution (kernel origin at center of kernel).
  • iapconv2 - 1D, 2D or 3D periodic convolution (kernel origin at array origin).
  • iasobel - Sobel edge detection.
  • iavarfilter - Variance filter.

Automatic Thresholding Techniques


  • adshow - Basic display image in Adessowiki.
  • iamosaic - Creates a mosaic of images from the input volume (3D).
  • iagshow - Overlay color planes on a gray scale image ready for display.
  • ialblshow - Display a labeled image assigning a random color for each label.
  • ianshow - Image graphic representation useful for illustration, accepts overlay color planes.
  • iaisolines - Isolines of a grayscale image.
  • iadftview - Generate optical Fourier Spectrum for display from DFT data.
  • iatiling - Create a large 2D image from a list of smaller images.
  • iafig2img - Convert a matplotlib figure to an image ready to be displayed by adshow.
  • iaplot - Simple plotting ready to be displayed adshow.
  • iashow - Image display. DO NOT USE. Use adshow instead.

Image Information and Manipulation

  • iaroi - Cut a rectangle out of an image.
  • iacrop - Crop an image to find the minimum rectangle.
  • iapad - Extend the image inserting a frame around it.
  • iaimginfo - Print image size and pixel data type information
  • iaind2sub - Convert linear index to double subscripts.
  • iameshgrid - Create two 2-D matrices of indexes.
  • ianeg - Negate an image.
  • ianormalize - Normalize the pixels values between the specified range.
  • iasub2ind - Convert linear double subscripts to linear index.

Image Transformation


Image Creation

  • iacircle - Create a binary circle image.
  • iaramp - Create an image with vertical bands of increasing gray values.
  • iacos - Create a cosine wave image.
  • iagaussian - Generate a n-dimensional Gaussian image.
  • iaellipse - Generate a 2D ellipse, rectangle or diamond image.
  • ialog - Laplacian of Gaussian image.
  • iacomb - Create a grid of impulses image.
  • iarectangle - Create a binary rectangle image.
  • iatext - Create a binary image of a text.


Image Matching

  • iacorr - Simple correlation between two images of the same size
  • iaphasecorr - Phase correlation
  • iawcorr - Weighted correlation between two images of the same size

Function not to use

  • iatile - Replicate the image until reach a new size.
Recently modified pages
Recently commented pages