2010-09-16 3 views

Répondre

3

Vous avez juste besoin d'une formule pour un noyau 2d gauss et remplissez votre x et y valeurs.

par exemple. symétrique noyau gauss:

double w = exp(-(fx*fx + fy*fy)/(2.0 * sigma * sigma))/(2.0 * M_PI * sigma * sigma); 

Pour une explication avec des graphiques agréables voir:

http://www.librow.com/articles/article-9

en particulier: 3. Cas 2D

+0

Notez que le choix de sigma et le gain (en particulier pour les coefficients entiers) sont très importants, donc vous pourriez vouloir ajouter quelques détails supplémentaires sur la façon dont ceux-ci sont déterminés. –

+0

Oui, ce serait très utile. Je ne sais pas à quoi m'attendre pour obtenir de «bons» résultats. – Dfowj

+0

Voir http://opencv.willowgarage.com/documentation/cpp/image_filtering.html#cv-getgaussiankernel - sigma = 0.3 * (ksize/2 - 1) + 0.8 (ksize est la longueur impaire du bord, 3 dans votre cas) –

Questions connexes