Azzera filtri
Azzera filtri

Entropy of subsections of an image

1 visualizzazione (ultimi 30 giorni)
Simon
Simon il 30 Lug 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

Risposta accettata

Iain
Iain il 30 Lug 2013
Try
E = entropyfilt(im,ones(3,3));
ime = E < threshold;
  1 Commento
Simon
Simon il 30 Lug 2013
That's exactly what I was looking for, thanks

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Image Processing Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by