30 April 1992 Functional programming for computer vision
Author Affiliations +
Abstract
Functional programming is a style of programming that avoids the use of side effects (like assignment) and uses functions as first class data objects. Compared with imperative programs, functional programs can be parallelized better, and provide better encapsulation, type checking, and abstractions. This is important for building and integrating large vision software systems. In the past, efficiency has been an obstacle to the application of functional programming techniques in computationally intensive areas such as computer vision. We discuss and evaluate several 'functional' data structures for representing efficiently data structures and objects common in computer vision. In particular, we will address: automatic storage allocation and reclamation issues; abstraction of control structures; efficient sequential update of large data structures; representing images as functions; and object-oriented programming. Our experience suggests that functional techniques are feasible for high- performance vision systems, and that a functional approach simplifies the implementation and integration of vision systems greatly. Examples in C++ and SML are given.
© (1992) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.
Thomas M. Breuel, "Functional programming for computer vision", Proc. SPIE 1659, Image Processing and Interchange: Implementation and Systems, (30 April 1992); doi: 10.1117/12.58409; https://doi.org/10.1117/12.58409
PROCEEDINGS
12 PAGES


SHARE
KEYWORDS
Computer programming

Computer programming languages

Computer vision technology

Machine vision

Image processing

C++

Data storage

RELATED CONTENT

A Robot Drawing-Reading Automatic Assembly System
Proceedings of SPIE (February 19 1988)
Introduction to Image Algebra Ada
Proceedings of SPIE (July 01 1991)
Dense array expressions
Proceedings of SPIE (October 07 1999)
Supporting image algebra in the C++ language
Proceedings of SPIE (June 23 1993)

Back to Top