eLynx SDK
v3.3.0 C++ image processing API reference |
Implementation of image restoration interface. More...
#include <ImageRestorationImpl.h>
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) |
Implementation of image restoration interface.
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 |
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. |
Implements eLynx::Image::IImageRestoration.
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.
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. |
Implements eLynx::Image::IImageRestoration.
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.
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. |
Implements eLynx::Image::IImageRestoration.