Error in image normalization
Show older comments
Hello Team,
I have written this code to compute the normalization of a gradient image.
if true
% code
function [horDiffNorm, verDiffNorm] = normalization(H, V)
sumH = 0;
sumV = 0;
[rowsH, colsH, depthH] = size(H);
[rowsV, colsV, depthV] = size(V);
for jH = 1:1:rowsH
for iH = 1:1:colsH
for zH = 1:1:colsH
if (zH ~= iH)
sumH = sumH + power(H(jH, zH), 2);
end
end
horDiffNorm(jH, iH) = H(jH, iH)/ sqrt(double(1/(2*(colsH-1))*sumH));
end
end
end
end
I performed debugging and noticed the value of SumH reaches (255) at zH = 32 and then it stuck at 255, even though the next pixels are not 0.
Can you please help?
Accepted Answer
More Answers (1)
Image Analyst
on 6 Oct 2018
0 votes
Why not simply use imgradient()?
10 Comments
Matlab Student
on 6 Oct 2018
Matlab Student
on 6 Oct 2018
Image Analyst
on 6 Oct 2018
What is that formula supposed to do? If you just want the gradient magnitude, why can't you just use imgradient()? What do you need to do AFTER that?
Matlab Student
on 6 Oct 2018
Edited: Matlab Student
on 6 Oct 2018
Image Analyst
on 7 Oct 2018
You're going all the way from the pixel to the extreme far right edge and extreme bottom edge, instead of just in a localized scanning window like usual. Why???
Matlab Student
on 7 Oct 2018
Matlab Student
on 7 Oct 2018
Image Analyst
on 7 Oct 2018
What are you trying to do with this unusual algorithm? A spatial filter? A convolution? A correlation? Why did you program it up in the first place?
What is H? Is it already the gradient image, or do you want to take the gradient of H?
Matlab Student
on 7 Oct 2018
Matlab Student
on 7 Oct 2018
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!