#include <REulerElasticaInpainter.hpp>
Inheritance diagram for REulerElasticaInpainter:
Purpose: EulerElastica Inpainting. A combined model inpainting used to fill image gaps, or to scale op the image. Paper: "Processing of Flat and non-flat image information on arbitrary manifolds using Partial Differential Equations.", Marcelo Bertalmio, Thesis March 2001, University of Minnesota.
@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2002, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
REulerElasticaInpainter (bool optimised=false, double deltaT=1.0, double av=0.2, double bv=0.2, double lambdav=0.0) | |
virtual | ~REulerElasticaInpainter () |
virtual void | prepare (RImage *src) |
used to globally maintain subimages avoiding cons | |
virtual void | clear () |
used to globally destroy subimages avoiding decons | |
virtual RImage * | filter (RImage *src, RImage *dest=0) |
Local full image filtering. | |
virtual RImage * | selectedFilter (AnImage *mask, RImage *src, RImage *dest=0) |
Local filtering in a mask area. | |
virtual void | report (FILE *file) |
Protected Methods | |
void | precompute (AnImage *mask) |
void | computeGradient (int x, int y, int idx, int idy) |
void | computeCurvature (int x, int y, int idx, int idy) |
double | getV (int x, int y, int idx, int idy) |
double | divergentV (int x, int y) |
double | operation (int x, int y) |
Private Attributes | |
bool | optimisation |
double | a |
double | b |
double | dt |
RImage * | I0 |
RImage * | I |
double | lambda |
RImage * | kDu |
RImage * | k |
double | kDu_x2 |
double | kDu_y2 |
double | k_2 |
double | ux2 |
double | uy2 |
double | gu2Norme |
double | ux2Norme |
double | uy2Norme |
|
Local full image filtering.
Implements AbsRImageFilter. |
|
Local filtering in a mask area.
Reimplemented from AbsRImageFilter. |