Parece que la iluminación es algo desigual. Esto se puede corregir usando ciertas operaciones morfológicas. La idea básica es calcular una imagen que represente solo la iluminación desigual y restarla, o dividirla (lo que también mejora el contraste). Debido a que queremos encontrar solo la iluminación, es importante usar un elemento estructurador lo suficientemente grande, de modo que la operación examine más propiedades globales en lugar de las locales.
%# Load image and convert to [0,1].
A = im2double(imread('http://i.stack.imgur.com/TQp1i.png'));
%# Any large (relative to objects) structuring element will do.
%# Try sizes up to about half of the image size.
se = strel('square',32);
%# Removes uneven lighting and enhances contrast.
B = imdivide(A,imclose(A,se));
%# Otsu's method works well now.
C = B > graythresh(B);
D = bwdist(~C);
DL = watershed(D);
imshow(DL==0);
Éstos son C
(izquierda), más DL==0
(centro) y su superposición en la imagen original:
![Divided by closing](https://i.stack.imgur.com/bQ63Y.png)
![Otsu's method](https://i.stack.imgur.com/dfZfX.png)
![Segmentation overlay](https://i.stack.imgur.com/sZ2Hn.png)
funciona bien. Las fotos serían agradables, sin embargo. – Jonas
Buen consejo ... (ver edición). –
Muchas gracias por su ayuda. Solo una pregunta rápida. Si deseo aplicar "imopen" seguido de "imclose" debería editar esta parte se = strel ('square', 32); im_open = imopen (A, se); B = imdivide (A, imclose (im_open, se)); Im el papel que estoy leyendo en este momento, dijeron que el uso de esta manera podría ayudar mucho en la reducción de las ramas falsas. Sin embargo, cuando lo hice de esta manera, parece que hay más ramas falsas, lol. ¿Tienes alguna sugerencia? Gracias – W00f