Le DOG

Objectif: étudier différents algorithmes pour la construction d'espaces d'échelle.

Pour une présentation du DOG, cf. le livre de Marr, p.63.

Laplacien calculé avec les filtres récursifs rapides

Calcul d'un vecteur de DOGs, à différents échelles

Pyramides: espace d'échelle avec réduction de la résolution (sous-échantillonnage).

Example 1: Calcul et analyse d'un vecteur de DOGs


current-image=make-dirac(128);
init-screen(8,3);
flt = new TBitmapFloat(current-image);
current-image.Convert(flt);

mfdog=mu-compute-dog(flt);

affi-exp=1.0; affi-fact=800.0;

mu-affiche-float(mfdog,list(2,3,4,5,6),8) profile(mfdog,cons(16,16)

Example 2: Calcul et analyse d'une pyramide de DOGs


pyr1=build-dog-pyramid(flt,4);
pyr-profile(pyr1,cons(64,64));
vector-plot-line(pyr1[1],list(1,2),32,"Lissage au niveau 1");
to-gnu "set terminal X11 1";
vector-plot-line(pyr1[1],list(3,4),32,"Dog au niveau 1");
zmesh-image(pyr1[2][4],10);

Example 3: Le fonctions d'Olivier Riff

Fonctions disponibles

Ces divers calculs produisent des listes, ou des vecteurs d'images, que l'on peut analyser à l'aide de plusieurs procédures d'affichage spécifiques.

mu-affiche-float(vec,k,pos)

profile(vec,point)

affiche-dog-pyramid(pyr,pos,z)

affiche-dog-level(pyr,i,pos)avec zoom

pyr-profile(pyr,pt)

Ce paragraphe esquisse les commandes utile pour legarder les DOGs.

Calculer un vecteur avec l'image filtrée:

mfg = MultiFilter(kGaussian,ii,sigma-init,sigma-factor,nb-levels,1,0,-1);

puis afficher les différences avec

mu-affiche-dog(mfg,k, p,ll="yellow") Pondération à l'affichage: dog-factor / Energy. k est un indice ou une liste d'indices, p la position d'affichage