Entropy of subsections of an image

1 visualización (últimos 30 días)
Simon
Simon el 30 de Jul. de 2013
I have a grayscale image, which I am trying to take 3x3 sections of and find the entropy, and based on the value, make the centre pixel white or black.
The problem I have is that the code I am using is unacceptably slow - running a single, low res image takes several seconds. the code looks something like this:
for j = 2:m-1
for i = 2:n-1
E = entropy(im(j-1:j+1, i-1:i+1));
if E < threshold
ime(j, i) = 1;
else
ime(j, i) = 0;
end
end
end
where the grayscale image im is of size [m, n], as is the binary image ime. Any suggestions on how to improve it? Arrayfun may help, but i have no idea how to use it properly

Respuesta aceptada

Iain
Iain el 30 de Jul. de 2013
Try
E = entropyfilt(im,ones(3,3));
ime = E < threshold;
  1 comentario
Simon
Simon el 30 de Jul. de 2013
That's exactly what I was looking for, thanks

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Images en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by