eLynx SDK v3.3.0
C++ image processing API reference
Public Member Functions

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

Implementation of image restoration interface. More...

#include <ImageRestorationImpl.h>

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

List of all members.

Public Member Functions

virtual bool FastInpaint (AbstractImage &ioImage, const ImageLub &iBinaryMask, bool iUseRegion, uint32 iChannelMask, ProgressNotifier &iNotifier) const
 Implementation based on Fast Digital Image Inpainting article.
virtual bool FastMarchingInpaint (AbstractImage &ioImage, const ImageLub &iBinaryMask, uint32 iSize, bool iUseRegion, uint32 iChannelMask, ProgressNotifier &iNotifier) const
 Implementation based on An Image Inpainting Technique Based on the Fast Marching Method article.
virtual bool ExemplarBasedInpaint (AbstractImage &ioImage, const ImageLub &iBinaryMask, const Math::AOBBox2i &iSearchArea, uint32 iPatchSize, bool iUseRegion, uint32 iChannelMask, ProgressNotifier &iNotifier) const
 Implementation based on Region Filling and Object Removal by Exemplar-Based Image Inpainting article.

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.


Member Function Documentation

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:
ioImageimage to be restored.
iBinaryMaskimage bitmap. The pixel's value is either IPT_UNKNOWN for pixels to be inpainted or IPT_KNOWN for known pixels.
iSearchAreabounding box to restrict the image area which would be searched for the patches to fill.
iPatchSizesize of the patch. Min value is 3.
iUseRegionflag to use optimizations to inpaint only localized regions. Caution: Some images produce better results without this optimization.
iChannelMaskselected channels to be processed. Default is all.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageRestoration.

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:
ioImageimage to be restored.
iBinaryMaskimage bitmap. The pixel's value is either IPT_UNKNOWN for pixels to be inpainted or IPT_KNOWN for known pixels.
iUseRegionflag to use optimizations to inpaint only localized regions. Caution: Some images produce better results without this optimization.
iChannelMaskselected channels to be processed. Default is all.
iNotifiera 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:
ioImageimage to be restored.
iBinaryMaskimage bitmap. The pixel's value is either IPT_UNKNOWN for pixels to be inpainted or IPT_KNOWN for known pixels .
iSizesize of the pixel's neighborhood. Min value is 3.
iUseRegionflag to use optimizations to inpaint only localized regions. Caution: Some images produce better results without this optimization.
iChannelMaskselected channels to be processed. Default is all.
iNotifiera notifier for progression, log and cancel.
Returns:
Method running status.

Implements eLynx::Image::IImageRestoration.


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

Generated on Thu Dec 9 2010 by doxygen 1.7.2