15.8 Image Filtering Using Fast Convolution

Get qr codes for .netusing visual studio .net toreceive qr code 2d barcode in asp.net web,windows application

A 720 480 image s RGB color space consists of 720 480 3 data samples. For the NTSC motion video at 30 frames per second, there will be 720 480 3 30 = 31 104 000 bytes/s. As the image ltering requires four nested loops for each pixel and every lter coef cient in the kernel, this can be very computational intensive for large-size image even by using a 3 3 lter. An alternative approach is to use fast convolution method. The 2-D fast convolution using the 2-D FFT is considerably fast for ltering a large-size image because the spatial-domain convolution becomes multiplication in frequency domain. If the image signal is orthogonal, we can further reduce computational requirements by applying lter in one direction at a time. Given a function f (m, n) of two spatial variables m and n, the 2-D M-by-N DFT F(k, l) is de ned as F(k, l) =

QR Code ISO/IEC18004 barcode library on .netUsing Barcode scanner for .net framework Control to read, scan read, scan image in .net framework applications.

M 1 N 1 m=0 n=0

Bar Code integrating in .netusing visual studio .net crystal todraw bar code with asp.net web,windows application

f (m, n)e j(2 /M)km e j(2 /N )ln ,

Bar Code barcode library on .netUsing Barcode reader for Visual Studio .NET Control to read, scan read, scan image in Visual Studio .NET applications.

(15.14)

where k and l are frequency indices for k = [0, M 1] and l = [0, N 1], respectively. The 2-D inverse DFT is de ned as f (n, m) = 1 MN

Control qr-codes data in .netto create qr bidimensional barcode and qr data, size, image with .net barcode sdk

M 1 N 1 k=0 l=0

Control qr bidimensional barcode data on vb.netto build qr code jis x 0510 and qr barcode data, size, image with visual basic barcode sdk

F(k, l)e j(2 /M)km e j(2 /N )ln .

Bar Code barcode library in .netusing barcode integrated for .net vs 2010 control to generate, create bar code image in .net vs 2010 applications.

(15.15)

.NET Crystal upca integration with .netusing visual studio .net crystal togenerate upc a for asp.net web,windows application

PRACTICAL APPLICATIONS

2d Matrix Barcode integration for .netusing barcode generation for visual .net control to generate, create 2d matrix barcode image in visual .net applications.

MATLAB Image Processing Toolbox provides a 2-D FFT function fft2 and an inverse FFT function ifft2. The 2-D fast convolution can be computed using the following steps: 1. The lter coef cient matrix and image data matrix must have the same dimensions. If one matrix is smaller than the other, we can pad zeroes on the smaller matrix. 2. Compute the 2-D FFT of both the image and coef cient matrices using the MATLAB function fft2. 3. Multiply the frequency-domain coef cient matrix with image matrix using dot product. 4. Apply the inverse 2-D FFT function ifft2 to obtain the ltered results.

Draw bar code with .netgenerate, create bar code none in .net projects

Example 15.8: Instead of performing 2-D convolution, the frequency-domain ltering uses multiplication. The use of MATLAB functions fft2 and ifft2 on RGB images can be expressed as

Delivery Point Barcode (DPBC) creator with .netgenerate, create postnet none with .net projects

fft2R = fft2(double(RGB(:,:,1))); [imHeight imWidth] = size(fft2R); fft2Filt = fft2(coeff, imHeight, imWidth); fft2FiltR = fft2Filt .* fft2R; newRGB(:,:,1) = uint8(ifft2(fft2FiltR));

Control gs1 - 13 size with vb.netto paint ean13+5 and european article number 13 data, size, image with vb.net barcode sdk

Here, fft2FiltR is the 2-D fast convolution result of the red components. The lter coef cients are zero padded and the frequency-domain matrix is obtained using the fft2 function. The symbol .* in the fourth line of MATLAB script is the dot-product operator. Figure 15.14 shows the 2-D ltering results. The fast convolution results (Figure 15.14) show that when dealing with a large image, the ltering can be performed in frequency domain. The computational requirement for fast convolution is much less than the computation in the spatial domain using the 2-D convolution.

Bar Code barcode library on .netuse winforms barcode maker toassign bar code with .net

15.9 Practical Applications

Generate barcode with .netgenerate, create bar code none for .net projects

Image processing has been used in many practical applications. More and more images we have today become larger and larger in size. Therefore, image compression plays a key role in image applications. Many international standards, such as JPEG, are commonly used for ef cient storage and transmission. JPEG can achieve up to 10:1 compression ratio.

Display ean128 in .netusing asp.net web toattach gs1 barcode for asp.net web,windows application

15.9.1 JPEG Standard

Build barcode pdf417 with visual basicgenerate, create barcode pdf417 none for vb projects

JPEG compression is de ned in the ITU-T Recommendation T.81. JPEG le format has been widely used in printing, digital photography, video editing, security, and medical imaging applications. Figure 15.15 shows the basic functions of JPEG encoder. In JPEG encoding process, the image pixels are grouped into 8 8 blocks. Each block is transformed by a forward DCT to obtain 64 DCT coef cients. The rst coef cient is called the DC coef cient, and the rest coef cients are referred as AC coef cients. These 64 DCT coef cients are quantized by a quantizer using one of 64 corresponding values from a quantization table speci ed by ITU-TT.81.

Control data matrix barcodes image on javausing java toinclude datamatrix with asp.net web,windows application

Bar Code barcode library in office wordusing microsoft word tocreate bar code in asp.net web,windows application