MATLAB – Ideal Lowpass Filter in Image Processing Improve Improve Like Article Like Save Share Report In the field of Image Processing, Ideal Lowpass Filter (ILPF) is used for image smoothing in the frequency domain. It removes high-frequency noise from a digital image and preserves low-frequency components. It can be specified by the function- Where, is a positive constant. ILPF passes all the frequencies within a circle of radius from the origin without attenuation and cuts off all the frequencies outside the circle. This is the transition point between H(u, v) = 1 and H(u, v) = 0, so this is termed as cutoff frequency. is the Euclidean Distance from any point (u, v) to the origin of the frequency plane, i.e, Approach: Step 1: Input – Read an image Step 2: Saving the size of the input image in pixels Step 3: Get the Fourier Transform of the input_image Step 4: Assign the Cut-off Frequency Step 5: Designing filter: Ideal Low Pass Filter Step 6: Convolution between the Fourier Transformed input image and the filtering mask Step 7: Take Inverse Fourier Transform of the convoluted image Step 8: Display the resultant image as output Implementation in MATLAB: % MATLAB Code | Ideal Low Pass Filter % Reading input image : input_image input_image = imread('[name of input image file].[file format]'); % Saving the size of the input_image in pixels- % M : no of rows (height of the image) % N : no of columns (width of the image) [M, N] = size(input_image); % Getting Fourier Transform of the input_image % using MATLAB library function fft2 (2D fast fourier transform) FT_img = fft2(double(input_image)); % Assign Cut-off Frequency D0 = 30; % one can change this value accordingly % Designing filter u = 0:(M-1); idx = find(u>M/2); u(idx) = u(idx)-M; v = 0:(N-1); idy = find(v>N/2); v(idy) = v(idy)-N; % MATLAB library function meshgrid(v, u) returns % 2D grid which contains the coordinates of vectors % v and u. Matrix V with each row is a copy % of v, and matrix U with each column is a copy of u [V, U] = meshgrid(v, u); % Calculating Euclidean Distance D = sqrt(U.^2+V.^2); % Comparing with the cut-off frequency and % determining the filtering mask H = double(D <= D0); % Convolution between the Fourier Transformed % image and the mask G = H.*FT_img; % Getting the resultant image by Inverse Fourier Transform % of the convoluted image using MATLAB library function % ifft2 (2D inverse fast fourier transform) output_image = real(ifft2(double(G))); % Displaying Input Image and Output Image subplot(2, 1, 1), imshow(input_image), subplot(2, 1, 2), imshow(output_image, [ ]); Input Image – Output: Last Updated : 22 Apr, 2020 Like Article Save Article Previous Create Mirror Image using MATLAB Next C# Interactive Interpreter Share your thoughts in the comments Add Your Comment Please Login to comment... Similar Reads MATLAB - Butterworth Lowpass Filter in Image Processing MATLAB - Ideal Highpass Filter in Image Processing Spatial Filters - Averaging filter and Median filter in Image Processing MATLAB - Butterworth Highpass Filter in Image Processing Image Processing in Java - Colored Image to Grayscale Image Conversion Image Processing in Java - Colored image to Negative Image Conversion Image Processing in Java - Colored Image to Sepia Image Conversion Image Processing in MATLAB | Fundamental Operations How To Detect Face in Image Processing Using MATLAB? Digital Image Processing Algorithms using MATLAB Like goodday451999 Follow Article Tags : Image-Processing MATLAB Computer Subject MATLAB