1

Comme la définition du filtre médian, je peux définir « filtre maximale » comme pour une fenêtre localeopencv filtre de dilatation morphologique en tant que filtre au maximum

par exemple, dst (x, y) = max (pixels de la fenêtre locale 3x3)

Mais je ne peux pas trouver un tel filtre à OpenCV, le plus proche est « dilatent » fonction

Puis-je utiliser la configuration par défaut de « dilatent » fonction, mais le résultat est incorrect comparer à ma mise en œuvre brutale du filtre maximum.

Je trouve que pour le cas 3x3, la configuration dilatent équivalente est d'utiliser un élément de structure rectangulaire 1x1, qui est

dilate(src, dst, getStructuringElement(MORPH_RECT, Size(1,1)))

Mes questions sont les suivantes:

  1. Il semblait contre- intuitif pour moi que je pensais qu'un élément de structure est équivalent à une fenêtre locale. Mais maintenant la taille de la fenêtre locale est seulement 1x1 pixel? Que se passe-t-il si la fenêtre locale de mon filtre maximum se développe (par exemple 5x5, 7x7)? Y a-t-il une relation entre le filtre maximum et le filtre de dilatation?

+0

Après cette question, j'ai trouvé ma logique faute dans mon code ... la définition de dilate/filtre max est identique – Bossliaw

Répondre

2

Un exemple de mise en œuvre Mathematica:

enter image description here

Mais Dilatation [] accepte également un noyau structurant:

enter image description here

+0

Par conséquent, votre cas suggère que 'Dilatation [img, 2]! = MaxFilter [img, 2]'? – Bossliaw

+0

@Bossliaw Nope. AFAIK, la dilatation est généralement une généralisation de MaxFilter parce que vous pouvez spécifier un noyau –

Questions connexes