Gradient of Image using window size
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I am new to MATLAB and trying to calculate the magnitude of the gradient using a specified window size but I receive the error: Attempted to access img(0,5); index must be a positive integer or logical. I am not sure how to solve this. Does anyone have any suggestions?
img = imread('image.png');
img = im2double(img);
[row, col] = size(img);
windowSize = 5;
for x = 1:row
for y = 1:col
if (x >= windowSize && x < row - windowSize && y >= windowSize && y < col - windowSize)
gradient(x,y) = abs(img(x+windowSize,y) - img(x-windowSize,y)) + abs(img(x,y+windowSize) -img(x,y-windowSize));
else
gradient(x,y) = 0;
end end end
0 comentarios
Respuestas (1)
Image Analyst
el 1 de Mayo de 2015
Just use imgradient(img). Why go to all the trouble of doing it yourself when there's a built-in function that does it for you?
0 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!