Embedded Image Processing on the TMS320C6000 DSP

Edge Detection (Image Processing) Part 3

C6701 EVM Target A target project meant to be used with C62xx or C67xx EVM boards can be found in Chap5\edge\SobelFixedRTDX\Target\C6701EVM. This project has been tested on the C6701 EVM, and is quite similar to the C6416 DSK project. Since the C6701 EVM’s memory map differs from that of the C6416 DSK, the DSP/BIOS MEM […]

Segmentation (Image Processing)

The goal of image segmentation is to divide an image into constituent parts that correlate to objects within the image. Once these objects have been extracted from the scene, information about them, such as their location, orientation, area, and so on may be gleaned and used towards a specific application. Typically this involves passing such […]

Mathematical Preliminaries (Image Processing) Part 1

Wavelets, the "little waves" of signal processing, came to the fore in the early 1990s as an attractive alternative to classical Fourier Transform based signal and image processing. While the underlying concepts behind wavelets have been known for close to a century (Haar described his multiresolution analysis in 1910), the pioneering work of many applied […]

Mathematical Preliminaries (Image Processing) Part 2

The Wavelet Toolbox There are many frequently used wavelet bases, and prototyping wavelet-based algorithms is easily accomplished in MATLAB using the Wavelet Toolbox. This toolbox includes a plethora of functions for dealing with wavelet transforms. Since this topic’s focus is on image processing, we restrict our discussion to those capabilities pertaining to the 2D DWT […]

Mathematical Preliminaries (Image Processing) Part 3

Multi-Level 2D DWT A 2D DWT program that supports multiple wavelet decomposition levels is shown in Listing 6-5. The main complication arising with a multi-level 2D DWT has to do with the bookkeeping associated with the dyadic nature of the DWT. The transform_rows and transform_cols functions from Listing 6-4 have been modified to accept an […]

Wavelet-Based Edge Detection (Image Processing) Part 1

In 5.1, we discussed the topic of edge detection from the point-of-view of derivative filters and implemented edge detectors by treating them as modified gradient operators. In this section we take an alternate view of the same problem, and derive a multiscale edge detection algorithm that draws upon wavelet theory. Mallat and Zhong published some […]

Wavelet-Based Edge Detection (Image Processing) Part 2

Multiscale Edge Detection on the C6701 EVM and C6416 DSK Our initial foray into embedded wavelet-based image processing is a set of programs written and tested on the C6701 EVM and C6416 DSK platforms. These programs are all fixed-point C implementations of the multiscale edge detection scheme shown in MATLAB form in Listing 6-6. The […]

Wavelet-Based Edge Detection (Image Processing) Part 3

HPI Interactive Multiscale Edge Detector Application with Visual Studio and the TI C6701 EVM In 5.2 we developed an interactive combined host/target application, with an MFC GUI running on the host PC communicating with a DSP target running an edge detector and image segmentation back-end. Here, we build upon the multiscale edge detector from the […]

Wavelet-Based Edge Detection (Image Processing) Part 4

Standalone Multiscale Edge Detector (C6416DSK) At this point, C6416 DSK users might be feeling a bit forlorn, as they have been left out in the cold in our pursuit of an embedded multiscale edge detector. In this section, we rectify the situation by presenting an optimized implementation of the wavelet-based edge detector that takes advantage […]

Wavelet Demising (Image Processing) Part 1

The use of non-linear adaptive filters in noise removal was discussed in 4.6. In this section, we will show how the discrete wavelet transform can be used to remove noise from a corrupted image using a process known as •wavelet denoising. This technique, initially proposed by Donoho,24’25’26 relies on the idea of thresholding in the […]