Embedded Image Processing on the TMS320C6000TM DSP: Examples in Code Composer StudioTM and MATLABEmbedded Image Processing on the TMS320C6000TM DSP: Examples in Code Composer StudioTM and MATLAB focuses on efficient implementations of advanced image processing algorithms for resource-constrained embedded DSP systems. Featuring the popular Texas Instruments TMS320C6000TM line of Digital Signal Processors, it utilizes a proven methodology of beginning with a high-level algorithmic point-of-view, proceeding to develop prototype code in MATLAB and Visual Studio, and concluding with an efficient implementation suitable for deployment on an embedded DSP system. Aside from image processing, the author also explains the uses and rationale behind a plethora of technologies, most notably several industry-standard and essential TI developer technologies, including the Code Composer StudioTM IDE. Highlights include numerous debugged MATLAB and C/C++ Visual Studio prototype applications and efficient C implementations of real-world algorithms tested on both the C6416 DSK and C6701 EVM development platforms. Embedded Image Processing on the TMS320C6000TM DSP: Examples in Code Composer StudioTM 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. |
Contents
INTRODUCTION | 3 |
11 STRUCTURE AND ORGANIZATION OF THE BOOK | 4 |
12 PREREQUISITES | 5 |
13 CONVENTIONS AND NOMENCLATURE | 6 |
14 CDROM | 8 |
15 THE REPRESENTATION OF DIGITAL IMAGES | 11 |
16 DSP CHIPS AND IMAGE PROCESSING | 12 |
17 USEFUL INTERNET RESOURCES | 15 |
462 Other Adaptive Filters | 189 |
463 Adaptive Image Filtering in MATLAB | 192 |
464 An MMSE Adaptive Filter Using the Intel IPP Library | 196 |
465 MMSE Filtering on the C6416 | 200 |
EDGE DETECTION AND SEGMENTATION | 213 |
51 EDGE DETECTION | 214 |
511 Edge Detection in MATLAB | 221 |
512 An Interactive Edge Detection Application with MATLAB Link for Code Composer Studio and RTDX | 227 |
TOOLS | 17 |
21 THE TMS320C6000 LINE OF DSPS | 18 |
211 VLIW and VelociTI | 19 |
212 FixedPoint versus FloatingPoint | 23 |
213 TI DSP Development Tools C6701 EVM and C6416 DSK | 27 |
22 TI SOFTWARE DEVELOPMENT TOOLS | 28 |
221 EVM support libraries | 30 |
223 DSPBIOS | 31 |
23 MATLAB | 32 |
241 Microsoft Foundation Classes MFC | 33 |
242 GDI+ | 35 |
SPATIAL PROCESSING TECHNIQUES | 39 |
32 CONTRAST STRETCHING | 42 |
321 MATLAB Implementation | 47 |
322 TI C67xx Implementation and MATLAB Support Files | 49 |
33 WINDOWLEVEL | 61 |
331 MATLAB Implementation | 65 |
332 A WindowLevel Demo Application Using Visual Studio NET 2003 | 70 |
333 WindowLevel on the TI C6x EVM | 79 |
34 HISTOGRAM EQUALIZATION | 84 |
341 Histogram Specification | 89 |
342 MATLAB Implementation | 92 |
343 Histogram Specification on the TI C6x EVM | 96 |
IMAGE FILTERING | 105 |
411 Image Noise | 108 |
412 TwoDimensional Convolution LowPass and High Pass Filters | 111 |
413 Fast Convolution in the Frequency Domain | 113 |
414 Implementation Issues | 116 |
42 LINEAR FILTERING OF IMAGES IN MATLAB | 118 |
43 LINEAR FILTERING OF IMAGES ON THE TI C62XXC67XX | 120 |
filter_imglib | 122 |
432 LowPass Filtering Using DSPLIB blur_dsplib | 126 |
blur_dsplib_paging | 130 |
blur_dsplib_paging_dma | 134 |
fi1ter_dsplib_paging_dma | 140 |
44 LINEAR FILTERING OF IMAGES ON THE TI C64X | 141 |
441 LowPass Filtering with a 3x3 Kernel Using IMGLIB blur3x3_imglib | 143 |
blur3x3_imglib_j?aging_dma | 148 |
45 NONLINEAR FILTERING OF IMAGES | 154 |
452 The Median Filter | 157 |
453 NonLinear Filtering of Images in MATLAB | 161 |
454 A Median Filtering Application Built Using Visual Studio NET 2003 | 168 |
4541 Generating Noise with the Standard C Library | 169 |
4542 Profiling Code in Visual Studio NET 2003 | 171 |
4543 Various CC++ Implementations of the Median Filter | 173 |
455 Median Filtering on the TI C6416 DSK | 181 |
46 ADAPTIVE FILTERING | 185 |
461 The Minimal Mean Square Error Filter | 187 |
5121 DSPBIOS | 231 |
5122 C6416DSK Target | 234 |
5123 C6701 EVM Target | 238 |
5124 Host MATLAB Application | 242 |
5125 Ideas for Further Improvement | 247 |
52 SEGMENTATION | 248 |
521 Thresholding | 250 |
522 Autonomous Threshold Detection Algorithms | 251 |
523 Adaptive Thresholding | 256 |
524 MATLAB Implementation | 259 |
525 RTDX Interactive Segmentation Application with Visual Studio and the TI C6416 | 263 |
5251 C6416 DSK Implementation | 264 |
5252 Visual Studio NET 2003 Host Application | 271 |
WAVELETS | 283 |
61 MATHEMATICAL PRELIMINARIES | 284 |
611 Quadrature Mirror Filters and Implementing the 2D DWT in MATLAB | 289 |
612 The Wavelet Toolbox | 298 |
613 Other Wavelet Software Libraries | 301 |
6141 SingleLevel 2D DWT | 303 |
6142 MultiLevel 2D DWT | 307 |
6143 MultiLevel 2D DWT with DMA | 311 |
62 WAVELETBASED EDGE DETECTION | 315 |
621 The Undecimated Wavelet Transform | 318 |
622 Edge Detection with the Undecimated Wavelet Transform | 319 |
623 Multiscale Edge Detection on the C6701 EVM and C6416 DSK | 325 |
6232 HPI Interactive Multiscale Edge Detector Application with Visual Studio and the TI C6701 EVM | 331 |
62321 C6701 EVM TARGET | 333 |
62322 VISUAL STUDIO NET 2003 HOST APPLICATION | 336 |
6233 Standalone Multiscale Edge Detector C6416DSK | 343 |
63 WAVELET DENOISING | 349 |
631 Wavelet Denoising in MATLAB | 354 |
632 Wavelet Denoising on the C6x | 361 |
6321 D4 DWT and IDWT functions on the C6416 | 364 |
6322 A C6416 Wavelet Denoising Implementation | 376 |
PUTTING IT TOGETHER A STREAMING VIDEO APPLICATION | 381 |
Al CREATION AND DEBUGGING OF MEXFILES IN VISUAL STUDIO NET 2003 | 384 |
All The import_grayscale_image MEXfile | 387 |
A12 A MEXfile for HPI communication between MATLAB and the C6x EVM | 392 |
A2 THE C6701 EVM PROGRAM | 395 |
A3 MATLAB GUI | 398 |
CODE OPTIMIZATION | 403 |
Bl INTRINSICS AND PACKED DATA PROCESSING | 406 |
Bll Packed Data Processing | 407 |
BI 2 Optimization of the Center of Mass Calculation on the C64x Using Intrinsics | 410 |
B2 INTRINSICS AND THE UNDECIMATED WAVELET TRANSFORM | 417 |
B3 CONVOLUTION AND THE DWT | 420 |
427 | |
Other editions - View all
Embedded Image Processing on the TMS320C6000TM DSP: Examples in Code ... Shehrzad Qureshi Limited preview - 2005 |