Bonjour à tous,
Je suis en train de suivre un cours l'analyse d'image. Dans le cadre de ce cours, j'essaie de recoder le noyau de convolution du filtre Gaussien en Python.
Déjà, je ne comprends vraiment sur ce site, l'expression du noyau est la suivante
h(x,y) = 1/2pi*sigma² * exp(-(x²+y²)/(2*sigma²))
alors que sur un autre site:
h(x,y) = exp(-(x²+y²)/(2*sigma²))
(http://www.f-legrand.fr/scidoc/docmm.../gaussien.html)
J'ai l'impression qu'il existe une multitude de noyau gaussien, on utilise le cadre de la création d'un noyau de convolution pour appliquer une flou gaussien ?
Au niveau du code, j'en suis à
En utilisant la fonction ci-dessous, j'obtiens une matrice vraiment bizarre qui corresponds pas vraiment à ce que je recherche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 def GaussianKernel(k, sigma): h = [] for i in range(-k,k+1): h.append([]) for j in range(-k,k+1): h[i+k].append(1/(math.pi*2*sigma**2) * math.exp(-(i**2+j**2)/(2*sigma**2))) return h
J'aimerais obtenir un noyau de convoluton 3x3 un peu à celui exposer sur wikpedia ?
https://fr.wikipedia.org/wiki/Noyau_...ent_d%27image)
Peut-on m'aiguiller sur ce qui ne va pas ou je n'ai pas compris ?
Merci d'avance
Partager