Problem adding two numbers
Mostrar comentarios más antiguos
I'm trying to write a function for blurring images. (I'm aware of imfilter command. Just trying to implement it in my own way). I've the following function which takes a uint8 matrix as argument img.
function output=bl(img,w)
row=size(img,1);
col=size(img,2);
g_size=(2*w+1)^2;
output=uint8(zeros(row,col));
for ii=1:row
for jj=1:col
s=0;
corner=[ii jj]-w;
for r=corner(1):(corner(1)+(2*w))
for c=corner(2):(corner(2)+(2*w))
if((r>0 && r<=row) && (c>0 && c<=col))
s=s+img(r,c); %PROBLEMATIC LINE
fprintf('The value of s is %d\n',s);
end
end
end
m=s/g_size;
output(ii,jj)=fix(m);
s=0;
end
end
end
I'm having trouble with the line marked as "PROBLEMATIC LINE". The line of code was supposed to add previous value of s with img(c,r). But surprisingly each time the line runs, the previous value of s becomes 0. What am I doing wrong here? How can I solve this?
4 comentarios
Adam Danz
el 30 de Mayo de 2020
What's a typical value of w?
Image Analyst
el 30 de Mayo de 2020
There are so many other problems with how to do the b lurring manually. Just search for blur.
John D'Errico
el 30 de Mayo de 2020
Another important question is what is the class of the variable img? Let me guuess, is this an image? If so, is the array img a uint8 array?
Adam Danz
el 30 de Mayo de 2020
The OP described the input as a uint8 matrix.
@Sneha Fariha, Image Analyst brings up a good point. My answer doesn't address the blurring proceedure. It just addresses the probem you described in the value of s.
Respuestas (1)
Sneha Fariha
el 31 de Mayo de 2020
0 votos
1 comentario
Adam Danz
el 1 de Jun. de 2020
Well done. Thanks for the follow-up.
Categorías
Más información sobre Logical en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!