Problem adding two numbers
古いコメントを表示
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 件のコメント
Adam Danz
2020 年 5 月 30 日
What's a typical value of w?
Image Analyst
2020 年 5 月 30 日
There are so many other problems with how to do the b lurring manually. Just search for blur.
John D'Errico
2020 年 5 月 30 日
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
2020 年 5 月 30 日
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.
回答 (1 件)
Sneha Fariha
2020 年 5 月 31 日
0 投票
1 件のコメント
Adam Danz
2020 年 6 月 1 日
Well done. Thanks for the follow-up.
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!