Image Proc
Image Proc
Abstract
Image processing is a computationally intensive operation and is typically
done in software using CPU processing power that is readily available these
days. However, even with the advances in computing technology today,
software based image processing requires expensive and powerful CPUs to
perform real-time image processing, making it out of reach for most robotic
applications. This is where a low cost FPGA based image processing solution
becomes useful. This eliminates the need for powerful CPUs and at the same
time can achieve real-time processing relatively easily. This project
implements such an image processing solution in hardware, using a FPGA at
its core. The high level goal is to retrieve an image from an image source,
detect the presence of a desired object based on color and calculate its
parameters like area and centroid, while displaying the image on a VGA
monitor. This report outlines the implementation of the project in two phases.
First phase describes the process of displaying an image on a VGA monitor
using SRAM as the video memory. The second phase describes the
implementation of a blob detection algorithm based on sequential connected
component labeling algorithm. A modified version of the labeling algorithm is
implemented, which enables the processing of an entire image in a single
pass through the image. The design enables the processing step to be
inserted in the pixel data path from the image source to the video memory.