The Mathematica Journal
Departments
Feature Articles
Columns
New Products
New Publications
Classifieds
Calendar
News Bulletins
Mailbox
Letters
Write Us
About the Journal
Staff and Contributors
Submissions
Subscriptions
Advertising
Back Issues
Home
Download this Issue

1. Introduction

This article was prompted in part by a recent message posted to MathGroup that inquired about Mathematica's functionality in the area of signal and image processing. Having successfully used Mathematica to teach courses in signal and image processing and as the developer of the Digital Image Processing package, a recent addition to Mathematica's Applications Library, I responded with a short and enthusiastic summary of the relevant improvements in Version 4. Indeed, without these enhancements the Digital Image Processing package would not have been possible; its performance would simply not have been competitive with most major image processing products on the market. Conversely, the latest improvements make Mathematica an effective platform for signal and image processing.

In this article we take a close look at convolution in general and the new function ListConvolve in particular. Convolution is a key operation in most signal and image processing applications. Many useful image processing operations are implemented as convolutions with finite impulse response (FIR) filters. Examples of image smoothing, unsharp masking, and gradient edge detection will be presented. Interestingly, the fundamental morphological operators of erosion and dilation may also be realized with convolution-like algorithms. We will show ListConvolve-based realizations of binary and grayscale erosion and dilation, and demonstrate edge detection using these fundamental operators.


Converted by Mathematica   

[Article Index] [Next Page]