Embedded Image Processing on the TMS320C6000 DSP

When engineers or scientists refer to an image, they are typically speaking of an optical representation of a scene acquired using a device consisting of elements excited by some light source. When this scene is illuminated by a light source, these elements subsequently emit electrical signals that are digitized to form a set of "picture […]

The TMS320C6000 Line of DSPs (Image Processing)

Even though this topic has a narrow focus, it calls for a wide array of tools, some hardware (DSP development boards) but mostly software. It is the author’s strong belief that the development of embedded algorithms should proceed from a high-level vantage point down to the low-level environment, in a series of distinct, clearly defined […]

TI Software Development Tools (Image Processing)

Development of all the DSP applications in the topic was done using version 2.20 or 2.21 of Code Composer Studio. As this topic was going to press, version 3 of Code Composer Studio has been recently released and the source code and project files should be easily ported to this new version of the IDE. […]

MATLAB (Image Processing)

MATLAB is an IDE designed by The Math Works and is the lingua franca for rapid-development technical computing, both in academia and industry (a low-cost student edition of MATLAB can be purchased from www.mathworks.com). It is an interpreted language, and the MATLAB code in this topic has been developed and tested using Release 14 (service […]

Visual Studio .NET 2003 (Image Processing)

All of the source code for the Windows C++ applications accompanying this topic were built using Microsoft Visual Studio .NET 2003. Visual Studio is the standard bearer when it comes to PC IDEs, and has been the most popular Windows compiler since the release of Visual Studio 5 in the mid-90s. Beginning in 1998, Visual […]

Spatial Transform Functions and The Image Histogram (Image Processing)

Broadly speaking, image enhancement algorithms fall into two categories: those that operate in the "spatial domain", and those that operate in the "frequency domain". Spatial processing of images works by operating directly on an image’s pixel values. In contrast, frequency domain methods use mathematical tools such as the Discrete Fourier Transform to convert the 2D […]

Contrast Stretching (Image Processing)

The contrast of an image is a measure of its dynamic range, or the "spread" of its histogram. The dynamic range of an image is defined to be the entire range of intensity values contained within an image, or put a simpler way, the maximum pixel value minus the minimum pixel value. An 8-bit image […]

Window/Level (Image Processing) Part 1

The previous section described a contrast enhancement technique whereby a linear scaling function was applied to all pixels, resulting in an image whose histogram was stretched so as to maximize the contrast. This section describes another point-processing enhancement method that entails applying a gray-scale lookup-table to each pixel in an image. This technique goes by […]

Window/Level (Image Processing) Part 2

A Window/Level Demo Application Using Visual Studio .NET 2003 Our first Visual Studio application is an interactive window/level demo, and it utilizes all of the key libraries that discussed in 2.4. The source code for this program can be found on the CD-ROM in the Chap3\window_level\WindowLevelVS directory. The front-end GUI uses the Microsoft Foundation Classes […]

Window/Level (Image Processing) Part 3

Window/Level on the TI C6x EVM The previous Visual Studio window/level program was interesting in that it illustrated how slider bars allow the user to interactively control the input parameters for an image processing algorithm, and how algorithm output can be visualized in real-time. Suppose as part of an embedded application, you had to implement […]