A system and method for creating an image processing algorithm and automatically
evaluating the performance of the algorithm. A user may develop an image processing
algorithm in an image prototyping environment. The image prototyping environment
may provide image processing functions for analyzing, processing, or manipulating
various types of images. Once the user has developed an image processing algorithm,
the user may execute the algorithm. In response to executing the algorithm, the
execution time requirements of the algorithm may be determined. This information
may be used, for example, in order to determine whether the image processing algorithm
is fast enough to evaluate images that are acquired at a particular rate in a real-time
application. The information may also help the user identify portions of the algorithm
that need to be modified, e.g., because they are bottlenecks in the algorithm.
In the preferred embodiment, the image prototyping environment is operable to automatically
generate a program implementing the image processing algorithm, once the user is
satisfied with the performance of the algorithm.