The Imaging Module for the Core Control Toolbox for MATLAB provides functions for image processing and imager and camera modeling and simulation. Full source code is provided so you know exactly what you are using and can expand or customize the functions as needed.
The Imaging module provides a wide range of functions for edge detection, corner detection and image processing. The following pictures shows a mug passed through the CannyEnhancer function. This picture displays the magnitude of each pixel after being passed through a Gaussian Derivative.
The CannyEnhancer function also computes the direction from the Gaussian derivative. The function includes a built in demo. The output figure automatically includes the orginal image for ease of interpreting the results. The direction clearly shows the edges of the box. These can be processed further for object identification or other purposes.
The following shows a corner detection algorithm. Each square on the right hand side is an identified corner.
The examples show images provided with the module but any image that can be read by MATLAB can be used with the functions. The toolbox also includes a large number of optics functions.
The following figure shows ray tracing for a Cooke Triplet lens. Any sets of lenses can be modeled. The second shows ray tracing for a mirror. The function can handle multiple mirrors.
The module provides a dynamic noise model for an imaging chip. All important noise sources are included.
Click for a movie of an imager showing diffraction limited centroids traversing the focal plane. This function permits accurate simulation of operations such as centroid detection for object tracking.