#include <PointOperator.hpp>
Est dérivée de Millie::Operator.
Dérivée par Millie::GaussianNoiseGenerator, Millie::InverseOperator, Millie::ThresholdOperator, et Millie::UniformNoiseGenerator.
Graphe d'héritage de Millie::PointOperator:
Fonctions membres publiques | |
PointOperator (const LocalPointOperator &localOp) | |
construit l'opérateur à partir d'un opérateur local | |
PointOperator (const PointOperator &) | |
LocalPointOperator & | getLocalPointOperator () |
retourne une référence vers l'opérateur local | |
void | compute (Image &out, const Image &in) |
appliquer l'opérateur | |
virtual PointOperator * | clone () const |
clone l'opérateur | |
~PointOperator () | |
Fonctions membres protégées | |
PointOperator (LocalPointOperator *localOp) | |
Attributs privés | |
LocalPointOperator * | _localOperator |
Cette classe utilise un LocalPointOperator qui s'occupera de déterminer la couleur de destination au point (x,y,canal) d'une image particulière.
L'implémentation de compute se fait facilement sous la forme suivante
out.resize(in.getWidth(), in.getHeight()); const LocalPointOperator & localOp = getLocalPointOperator(); for(int canal=0; canal< in.getNumComponents(); canal++) for (int y=0; y<in.getHeight(); y++) for (int x=0; x< in.getWidth(); x++) out.setPixel(x, y, canal, localOp.computePoint(in, x, y, canal));
L'image de destination aura ainsi exactement la même taille que l'image d'entrée.
De plus, il est nécessaire de supposer que l'image de destination et l'image d'origine doivent avoir le même nombre de composantes avec ce type d'opérateur.
Définition à la ligne 67 du fichier PointOperator.hpp.
PointOperator::PointOperator | ( | LocalPointOperator * | localOp | ) | [protected] |
Constructeur protegé pour les classes qui fille. Attention, localOp sera directement stocké dans cette classe et automatiquement supprimé Il est ainsi possible d'écrire :
class A : public PointOperator { public: A() : public PointOperator(new SomeLocalPointOperator()) {} };
on stocke directement l'opérateur
Définition à la ligne 49 du fichier PointOperator.cpp.
Références _localOperator.
PointOperator::PointOperator | ( | const LocalPointOperator & | localOp | ) |
construit l'opérateur à partir d'un opérateur local
Définition à la ligne 38 du fichier PointOperator.cpp.
Références _localOperator, et Millie::LocalPointOperator::clone().
PointOperator::PointOperator | ( | const PointOperator & | ) |
contructeur par recopie
Définition à la ligne 63 du fichier PointOperator.cpp.
Références _localOperator, et Millie::LocalPointOperator::clone().
PointOperator::~PointOperator | ( | ) |
LocalPointOperator & PointOperator::getLocalPointOperator | ( | ) |
retourne une référence vers l'opérateur local
Définition à la ligne 68 du fichier PointOperator.cpp.
Références _localOperator.
Référencé par compute().
appliquer l'opérateur
out | l'image de sortie | |
in | l'image d'entrée |
Millie::IllegalArgument | si le nombre de composantes de out et de in ne sont pas égales |
Implémente Millie::Operator.
Définition à la ligne 73 du fichier PointOperator.cpp.
Références Millie::LocalPointOperator::computePoint(), Millie::TImage< T >::getHeight(), getLocalPointOperator(), Millie::TImage< T >::getNumComponents(), Millie::TImage< T >::getPixel(), Millie::TImage< T >::getWidth(), Millie::TImage< T >::resize(), et Millie::TImage< T >::setPixel().
Référencé par Millie::gaussianNoiseGenerator(), inverseOperator(), et Millie::uniformNoiseGenerator().
virtual PointOperator* Millie::PointOperator::clone | ( | ) | const [virtual] |
clone l'opérateur
Implémente Millie::Operator.
Réimplémentée dans Millie::InverseOperator, Millie::GaussianNoiseGenerator, Millie::UniformNoiseGenerator, et Millie::ThresholdOperator.
L'opérateur pour le calcul local
Définition à la ligne 72 du fichier PointOperator.hpp.
Référencé par getLocalPointOperator(), PointOperator(), et ~PointOperator().