#include <ConvolveOperator.hpp>
Est dérivée de Millie::AreaOperator.
Graphe d'héritage de Millie::ConvolveOperator:
Fonctions membres publiques | |
ConvolveOperator (const Kernel &k) | |
créer un opérateur de convolution à partir d'un noyau | |
ConvolveOperator * | clone () const |
Pour chaque pixel de l'image de destination, on applique l'algorithme suivant : dest(x,y) = 0; Pour i = -origineX à -origineX + width -1 Pour j = -origineY à origineY + height dest(x,y) += in(x + i,y + j) *k(origineX + i, origineY + j)
Mais cet algorithme pose un problème sur les bords, c'est pour cela que l'on ne les traite pas dans ce cas là. Pour prendre en compte les bords, il faut utiliser un BorderExtender
Voici un exemple d'utilisation :
Image save... Image in...; KernelMDIF mdif; ConvolveOperator cOp(mdif); cOp.compute(save, in); //ne prend pas en compte les bords BorderExtenderCopy extender; //utilisation d'un étendeur de bord cOp.compute(save, in, extender);
Définition à la ligne 67 du fichier ConvolveOperator.hpp.
Millie::ConvolveOperator::ConvolveOperator | ( | const Kernel & | k | ) | [inline] |
créer un opérateur de convolution à partir d'un noyau
k | le noyau |
Définition à la ligne 75 du fichier ConvolveOperator.hpp.
Référencé par clone().
ConvolveOperator* Millie::ConvolveOperator::clone | ( | ) | const [inline, virtual] |
clone l'opérateur
Réimplémentée à partir de Millie::AreaOperator.
Définition à la ligne 80 du fichier ConvolveOperator.hpp.
Références ConvolveOperator().