0 Question: Comment puis-je supprimer la bordure extérieure en ajustant une ellipse [fermée]

question créée à Tue, May 7, 2019 12:00 AM

Je souhaite supprimer la bordure extérieure de l'image du vaisseau rétinien.

J'essaie de mettre en œuvre un filtre adapté en 2D pour l'extraction de vaisseaux sanguins conformément au document "Détection des vaisseaux sanguins dans les images rétiniennes à l'aide de filtres correspondants bidimensionnels" de Chaudhuri et al., IEEE Trans. on Medical Imaging, 1989. ( https: //www. ee.iitb.ac.in/~sc/papers/tmi-89.pdf )

Sur la figure 4, l'auteur a déclaré que "les bords de l'image ont été supprimés en ajustant une ellipse autour de l'image". Comment puis-je faire cette étape?

image d'entrée

ma sortie

img= im2double(rgb2gray(imread(image)));

s = 1.5; %sigma
L = 9;
theta = 0:15:165; %different rotations

out = zeros(size(img));

m = max(ceil(3*s),(L-1)/2);
[x,y] = meshgrid(-m:m,-m:m); % non-rotated coordinate system, contains (0,0)
for t = theta
 t = t / 180 * pi;        % angle in radian
 u = cos(t)*x - sin(t)*y; % rotated coordinate system
 v = sin(t)*x + cos(t)*y; % rotated coordinate system
   N = (abs(u) <= 3*s) & (abs(v) <= L/2); % domain
 k = -exp(-u.^2/(2*s.^2)); % kernel
 k = k - mean(k(N));
 k(~N) = 0;               % set kernel outside of domain to 0

 res = conv2(img,k,'same');
 out = max(out,res);
end

out = out/max(out(:));
imshow(out);

Le résultat attendu doit être comme ceci (sans bordure extérieure

    
- 3
  1. Veuillez télécharger l'image d'origine. Votre sortie doit être reproductible - ne pas joindre l'image d'origine nous empêche de reproduire votre sortie.
    2019-05-07 06: 28: 49Z
0 réponses                              0                         
source placée ici