eLynx SDK v3.0.1
C++ image processing API reference

eLynx::Image::ImageRestorationImpl< Pixel > Class Template Reference

#include <ImageRestorationImpl.h>

Inheritance diagram for eLynx::Image::ImageRestorationImpl< Pixel >:

eLynx::Image::IImageRestoration

List of all members.


Public Types

typedef Pixel Pixel_t

Public Member Functions

virtual bool FastInpaint (AbstractImage &ioImage, const ImageLub &iBinaryMask, bool iUseRegion, uint32 iChannelMask, ProgressNotifier &iNotifier) const
virtual bool FastMarchingInpaint (AbstractImage &ioImage, const ImageLub &iBinaryMask, uint32 iSize, bool iUseRegion, uint32 iChannelMask, ProgressNotifier &iNotifier) const
virtual bool ExemplarBasedInpaint (AbstractImage &ioImage, const ImageLub &iBinaryMask, const Math::AOBBox2i &iSearchArea, uint32 iPatchSize, bool iUseRegion, uint32 iChannelMask, ProgressNotifier &iNotifier) const

Static Public Member Functions

Specialized static services
static bool FastInpaint (ImageImpl< Pixel > &ioImage, const ImageLub &iBinaryMask, bool iUseRegion=false, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool FastMarchingInpaint (ImageImpl< Pixel > &ioImage, const ImageLub &iBinaryMask, uint32 iSize=7, bool iUseRegion=false, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)
static bool ExemplarBasedInpaint (ImageImpl< Pixel > &ioImage, const ImageLub &iBinaryMask, const Math::AOBBox2i &iSearchArea, uint32 iPatchSize=7, bool iUseRegion=false, uint32 iChannelMask=CM_All, ProgressNotifier &iNotifier=ProgressNotifier_NULL)

Detailed Description

template<class Pixel>
class eLynx::Image::ImageRestorationImpl< Pixel >

Implementation of image restoration interface.

Definition at line 30 of file ImageRestorationImpl.h.


Member Typedef Documentation

template<class Pixel >
typedef Pixel eLynx::Image::ImageRestorationImpl< Pixel >::Pixel_t

Definition at line 33 of file ImageRestorationImpl.h.


Member Function Documentation

template<class Pixel >
virtual bool eLynx::Image::ImageRestorationImpl< Pixel >::FastInpaint ( AbstractImage ioImage,
const ImageLub iBinaryMask,
bool  iUseRegion,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Implementation based on Fast Digital Image Inpainting article.

[1]Fast Digital Image Inpainting
September 3, 2001
by Manuel M. Oliveira, Brian Bowen, Richard McKenna and Yu-Sung Chang
Department of Computer Science
State University of New York at Stony Brook

Very simple inpainting algorithm based on the convolution of the small image region to be restored which is equivalent to the isotropic diffusion. The convolution kernel is a weighted average 3x3 kernel with a zero weight at the center.

Parameters:
ioImage image to be restored.
iBinaryMask image bitmap. The pixel's value is either IPT_UNKNOWN for pixels to be inpainted or IPT_KNOWN for known pixels.
iUseRegion flag to use optimizations to inpaint only localized regions. Caution: Some images produce better results without this optimization.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageRestoration.

template<class Pixel >
virtual bool eLynx::Image::ImageRestorationImpl< Pixel >::FastMarchingInpaint ( AbstractImage ioImage,
const ImageLub iBinaryMask,
uint32  iSize,
bool  iUseRegion,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Implementation based on An Image Inpainting Technique Based on the Fast Marching Method article.

[1]An Image Inpainting Technique Based on the Fast Marching Method
May 21, 2003
by Alexandru Telea
Eindhoven University of Technology

Simple inpainting algorithm based on the Fast Marching Method (FMM). Pixels are inpainted in the order based on the distance to the know area.

Parameters:
ioImage image to be restored.
iBinaryMask image bitmap. The pixel's value is either IPT_UNKNOWN for pixels to be inpainted or IPT_KNOWN for known pixels .
iSize size of the pixel's neighborhood. Min value is 3.
iUseRegion flag to use optimizations to inpaint only localized regions. Caution: Some images produce better results without this optimization.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageRestoration.

template<class Pixel >
virtual bool eLynx::Image::ImageRestorationImpl< Pixel >::ExemplarBasedInpaint ( AbstractImage ioImage,
const ImageLub iBinaryMask,
const Math::AOBBox2i iSearchArea,
uint32  iPatchSize,
bool  iUseRegion,
uint32  iChannelMask,
ProgressNotifier iNotifier 
) const [virtual]

Implementation based on Region Filling and Object Removal by Exemplar-Based Image Inpainting article.
Inpainting algorithm to remove int64 objects from images. The algorithm propagets texture and structure into the inpainting region by filling best-fit patches in the order based on the confidence level.

[1]Region Filling and Object Removal by Exemplar-Based Image Inpainting
SEP 2004
by A. Criminisi*, P. Pérez and K. Toyama
Microsoft Research, Cambridge (UK) and Redmond (US)
IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 13, NO. 9
Parameters:
ioImage image to be restored.
iBinaryMask image bitmap. The pixel's value is either IPT_UNKNOWN for pixels to be inpainted or IPT_KNOWN for known pixels.
iSearchArea bounding box to restrict the image area which would be searched for the patches to fill.
iPatchSize size of the patch. Min value is 3.
iUseRegion flag to use optimizations to inpaint only localized regions. Caution: Some images produce better results without this optimization.
iChannelMask selected channels to be processed. Default is all.
iNotifier a notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageRestoration.

template<class Pixel >
static bool eLynx::Image::ImageRestorationImpl< Pixel >::FastInpaint ( ImageImpl< Pixel > &  ioImage,
const ImageLub iBinaryMask,
bool  iUseRegion = false,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageRestorationImpl< Pixel >::FastMarchingInpaint ( ImageImpl< Pixel > &  ioImage,
const ImageLub iBinaryMask,
uint32  iSize = 7,
bool  iUseRegion = false,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]

template<class Pixel >
static bool eLynx::Image::ImageRestorationImpl< Pixel >::ExemplarBasedInpaint ( ImageImpl< Pixel > &  ioImage,
const ImageLub iBinaryMask,
const Math::AOBBox2i iSearchArea,
uint32  iPatchSize = 7,
bool  iUseRegion = false,
uint32  iChannelMask = CM_All,
ProgressNotifier iNotifier = ProgressNotifier_NULL 
) [static]


The documentation for this class was generated from the following file:

Generated on 14 Apr 2009 by doxygen 1.5.8