View License

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

» Watch video

Highlights from
Butterworth Bandpass Filter for Image Processing

5.0 | 2 ratings Rate this file 57 Downloads (last 30 days) File Size: 2.34 KB File ID: #30946 Version: 1.2
image thumbnail

Butterworth Bandpass Filter for Image Processing



01 Apr 2011 (Updated )

This function performs butterworth bandpass filtering in the frequency domain

| Watch this File

File Information

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);

Required Products Image Acquisition Toolbox
Image Processing Toolbox
MATLAB release MATLAB 7.10 (R2010a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (4)
05 Jul 2016 Raul Ziranda

10 Dec 2015 Leonardo

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;

Comment only
04 Dec 2015 Leonardo

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 !!

Comment only
14 Oct 2013 Robin Martin

Very good code simple and effecient!

04 Apr 2011 1.2

Updated the title

Contact us