Help with understanding a low pass filter code

3 views (last 30 days)
The aim of this piece of code is to smooth a horizontal histogram by applying a low pass filter.
First horizontal and vertical histograms representing the sum of differences of gray values between neighboring pixels of an image, column-wise and row-wise were used. The horizontal histogram is named horz1 so horz1(i)=sum where 'i' is the column number and 'sum' is sum of differences. Then, a low pass filter was applied. I don't understand the 'applying low pass filter' part. Where do the values 20, 21 and 40 come from? if anyone could help me understand I would really appreciate it.
%%horizontal histogram
disp('Processing Edges Horizontally...');
max_horz = 0;
maximum = 0;
for i = 2:cols
sum = 0;
for j = 2:rows
if(I(j, i) > I(j-1, i))
difference = uint32(I(j, i) - I(j-1, i));
else
difference = uint32(I(j-1, i) - I(j, i));
end
if(difference > 20)
sum = sum + difference;
end
end
horz1(i) = sum;
%%applying low pass filter
sum = 0;
horz = horz1;
for i = 21:(cols-21)
sum = 0;
for j = (i-20):(i+20)
sum = sum + horz1(j);
end
horz(i) = sum / 41;
end
end

Accepted Answer

Image Analyst
Image Analyst on 24 Jun 2017
That's the window size they chose. A larger window size will give more smoothing. A smaller window size will give less smoothing. We don't know why they chose a window size of 41, all we can guess is that that seemed to be best for the "look" they were after.
Also, don't use "sum" as the name of a variable since it's a built-in function.
Other than that, all I can say is that the code is a poorly thought out mess. I would not recommend using code from this author.
  6 Comments
abich
abich on 26 Jun 2017
Thank you for your help. Well this is an algorithm for car plate extraction from an image. Why do you think the author used the low pass filter in the first place? What do we normaly use it for?
Image Analyst
Image Analyst on 26 Jun 2017
I have no idea, especially without an image to see exactly what it's doing. I guess it's to reduce noise.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!