File Exchange

image thumbnail

Butterworth Bandpass Filter for Image Processing

version 1.2 (2.34 KB) by

This function performs butterworth bandpass filtering in the frequency domain



View License

Butterworth Bandpass Filter
This simple function was written for my Digital Image Processing course
at Eastern Mediterranean University taught by
Assoc. Prof. Dr. Hasan Demirel
for the 2010-2011 Spring Semester
for the complete report:

Written By:
Leonardo O. Iheme (
23rd of March 2011

  I = The input grey scale image
  d0 = Lower cut off frequency
  d1 = Higher cut off frequency
  n = order of the filter

The function makes use of the simple principle that a bandpass filter
can be obtained by multiplying a lowpass filter with a highpass filter
where the lowpass filter has a higher cut off frquency than the high pass filter.

ima = imread('grass.jpg');
ima = rgb2gray(ima);
filtered_image = butterworthbpf(ima,30,120,4);

Comments and Ratings (4)

Raul Ziranda


May I've just found a working solutions for my issue

adding a string input called type and then:

filter4(i,j)=1.0-filter3(i,j); % in the for loop

 if type == 'bandpass'
     % Update image with passed frequencies.
     filtered_image = fftI + filter3.*fftI;
 elseif type == 'bandreject'
     % Update image with passed frequencies.
     filtered_image = fftI + filter4.*fftI;


Dear sir,
Your code is simple and effective.
Just one question; how should I modify the code to obtain a band reject filter instead of a band pass filter with the same parameters ??
It should be quite simple.
Any suggestions ?

Thank you in advance !!

Robin Martin

Very good code simple and effecient!



Updated the title

MATLAB Release
MATLAB 7.10 (R2010a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video