Introduction. -1.1 Structure and Organization of the Book. -1.2 Prerequisites. -1.3 Conventions and Nomenclature. -1.4 CD-ROM. -1.5 The Representation of Digital Images. -1.6 DSP Chips and Image Processing. -1.7 Useful Internet Resources. -2. Tools. -2.1 The TMS320C6000 Line of DSPs. -2.1.1 VLIW and VelociTI. -2.1.2 Fixed-Point versus Floating-Point. -2.1.3 TI DSP Development Tools (C6701 EVM and C6416 DSK). -2.2 TI Software Development Tools. -2.2.1 EVM Support Libraries. -2.2.2 Chip Support Library. -2.2.3 DSP/BIOS. -2.2.4 FastRTS. -2.2.5 DSPLIB and IMGLIB. -2.3 MATLAB. -2.4. Visual Studio .NET 2003. -2.4.1 Microsoft Foundation Classes (MFC). -2.4.2 GDI+. -2.4.3 Intel Integrated Performance Primitives (IPP). -3. Spatial Processing Techniques. -3.1 Spatial Transform Functions and the Image Histogram. -3.2 Contrast Stretching. -3.2.1 MATLAB Implementation. -3.2.2 TI C67xx Implementation and MATLAB Support Files. -3.3 Window/Level. -3.3.1 MATLAB Implementation. -3.3.2 A Window/Level Demo Application Built Using Visual Studio .NET 2003. -3.3.3 Window/Level on the TI C6x EVM 83. -3.4 Histogram Equalization. -3.4.1 Histogram Specification. -3.4.2 MATLAB Implementation. -3.4.3 Histogram Specification on the TI C6x EVM. -4. Image Filtering. -4.1 Image Enhancement via Spatial Filtering. -4.1.1 Image Noise. -4.1.2 2D Convolution, Low-Pass and High-Pass Filters. -4.1.3 Fast Convolution in the Frequency Domain. -4.1.4 Implementation Issues. -4.2 Linear Filtering of Images in MATLAB. -4.3 Linear Filtering of Images on the TI C62xx/C67xx. -4.3.1 2D Filtering Using the IMGLIB Library. -4.3.2 Low-Pass Filtering Using DSPLIB. -4.3.3 Low-Pass Filtering with DSPLIB and Paging. -4.3.4 Low-Pass Filtering with DSPLIB and Paging via DMA. -4.3.5 Full 2D Filtering with DSPLIB and DMA. -4.4 Linear Filtering of Images on the TI C64x. -4.4.1 Low-Pass Filtering with a 3x3 Kernel Using IMGLIB. -4.4.2 A Memory-Optimized 2D Low-Pass Filter. -4.5 Non-linear Filtering of Images. -4.5.1 Image Fidelity Criteria and Various Metrics. -4.5.2 The Median Filter. -4.5.3 Non-Linear Filtering of Images in MATLAB. -4.5.4 Visual Studio .NET 2003 Median Filtering Application. -18.104.22.168 Generating Noise with the Standard C Library. -22.214.171.124 Profiling Code in Visual Studio .NET 2003. -126.96.36.199 Various Median Filter C/C++ Implementations. -4.5.5 Median Filtering on the TI C6416 DSK. -4.6 Adaptive Filtering. -4.6.1 The Minimal Mean Square Error Filter. -4.6.2 Other Adaptive Filters. -4.6.3 Adaptive Image Filtering in MATLAB. -4.6.4 An MMSE Adaptive Filter Using the Intel IPP Library. -4.6.5 MMSE Filtering on the C6416. -5. Edge Detection and Segmentation. -5.1 Edge Detection. -5.1.1 Edge Detection in MATLAB. -5.1.2 An Interactive Edge Detection Application with MATLAB, Link for Code Composer Studio, and RTDX. -188.8.131.52 DSP/BIOS. -184.108.40.206 C6416 DSK Target. -220.127.116.11 C6701 EVM Target. -18.104.22.168 Host MATLAB Application. -22.214.171.124 Ideas for Further Improvement. -5.2 Segmentation. -5.2.1 Thresholding. -5.2.2 Autonomous Threshold Detection Algorithms. -5.2.3 Adaptive Thresholding. -5.2.4 MATLAB Implementation. -5.2.5 RTDX Interactive Segmentation Application with Visual Studio and the TI C6416. -126.96.36.199 C6416 DSK Implementation. -188.8.131.52 Visual Studio .NET 2003 Host Application. -6.Wavelets. -6.1 Mathematical Preliminaries. -6.1.1 Quadrature Mirror Filters and Implementing the 2D DWT in MATLAB. -6.1.2 The Wavelet Toolbox. -6.1.3 Other Wavelet Software Libraries. -6.1.4 Implementing the 2D DWT on the C6416 DSK with IMGLIB. -184.108.40.206 Single-Level 2D DWT. -220.127.116.11 Multi-Level 2D DWT. -18.104.22.168 Multi-Level 2D DWT with DMA . -6.2 Wavelet-Based Edge Detection. -6.2.1 The Undecimated Wavelet Transform. -6.2.2 Edge Detection with the Undecimated Wavelet Transform. -6.2.3 Multiscale Edge Detection on the C6701 EVM and C6416 DSK. -22.214.171.124 Standalone Multiscale Edge Detector (C6701 EVM). -126.96.36.199 HPI Interactive Multiscale Edge Detector Application with Visual Studio and the TI C6701 EVM. -188.8.131.52.1 C6701 EVM Target. -184.108.40.206.2 Visual Studio .NET 2003 Host Application. -220.127.116.11 Standalone Multiscale Edge Detector (C6416 DSK). -6.3 Wavelet Denoising. -6.3.1 Wavelet Denoising in MATLAB. -6.3.2 Wavelet Denoising on the C6x. -18.104.22.168 D4 DWT and IDWT functions on the C6416. -22.214.171.124 A C6416 Wavelet Denoising Implementation. -Appendix A Putting it together: a streaming video application. -A.1 Creation and Debugging of MEX-files in Visual Studio .NET 2003.-A.1.1 The import_grayscale_image MEX-file. -A.1.2 A MEX-file for HPI communication between MATLAB and the C6x EVM. -A.2 The C6701 EVM Program. -A.3 MATLAB GUI. -A.4. Ideas for Further Improvement. -Appendix B Code Optimization. -B.1 Intrinsics and Packed Data Processing. -B.1.1 Packed Data Processing. -B.1.2 Optimization of the Center of Mass Calculation on the C64x Using Intrinsics. -B.2 Intrinsics and the Undecimated Wavelet Transform. -B.3 Convolution and the DWT.
This is an application-oriented book includes debugged & efficient C implementations of real-world algorithms, in a variety of languages/environments, offering unique coverage of embedded image processing.
covers TI technologies and applies them to an important market (important: features the C6416 DSK)
Also covers the EVM should not be lost, especially the C6416 DSK, a much more recent DSP.
Algorithms treated here are frequently missing from other image processing texts, in particular Chapter 6 (Wavelets), moreover, efficient fixed-point implementations of wavelet-based algorithms also treated.
Provide numerous Visual Studio .NET 2003 C/C++ code, that show how to use MFC, GDI+, and the Intel IPP library to prototype image processing applications
Embedded Image Processing on the TMS320C6000(TM) DSP: Examples in Code Composer Studio(TM) and MATLAB is an essential book for professional signal & image processing engineers working with TI DSPs where real-time constraints are present and performance is at a premium. Imaging software developers and DSP users will also find this book applicable, as it covers a variety of image and signal processing building blocks that appear in a diverse set of real-world applications, including medical imaging, satellite imaging, digital photography, and pattern recognition, to name a few. It may also serve as a reference work for advanced image processing, computer vision, and DSP students working in labs that use TI development kits or MATLAB.