A class that does space-variant processing with progressive blurring. More...
#include <Foveator/BlurFoveator.H>
Classes | |
class | GaussianBlurMatrix |
An inner class that defines a gaussian blur matrix. | |
Public Member Functions | |
BlurFoveator (const Image< PixRGB< byte > > &img, int filterSize) | |
Construct a BlurFoveator for an image. | |
BlurFoveator (const BlurFoveator &bf) | |
Construct a BlurFoveator from another. | |
BlurFoveator & | operator= (const BlurFoveator &bf) |
Construct a BlurFoveator equal to another. | |
~BlurFoveator () | |
Destructor. | |
Image< PixRGB< byte > > | foveate (void) |
Perform blur foveation and return resulting image. | |
Static Public Member Functions | |
static Image< PixRGB< byte > > | foveate (const Image< PixRGB< byte > > &img, int filterSize, int x, int y) |
Perform one blur foveation without a BlurFoveator. |
A class that does space-variant processing with progressive blurring.
A Gaussian blur is applied throughout the image, with small blur radius near the foveation origin, which increases as we go further into the periphery. This causes the image to appear sharp near the origin while blurry toward the outer edges.
Testing has revealed that BlurFoveator is not as efficient as PyrFoveator or LPTFoveator but can still achieve the desired result.
Definition at line 21 of file BlurFoveator.H.
Construct a BlurFoveator for an image.
This constructor will create a BlurFoveator that handles img and all other images of the same dimensions.
img | image to be foveated | |
filterSize | size of blur filter to be applied |
Definition at line 16 of file BlurFoveator.C.
References Foveator::height, max(), and Foveator::width.
Referenced by operator=().
BlurFoveator::BlurFoveator | ( | const BlurFoveator & | bf | ) |
Construct a BlurFoveator from another.
Definition at line 42 of file BlurFoveator.C.
BlurFoveator::~BlurFoveator | ( | ) |
Destructor.
Definition at line 62 of file BlurFoveator.C.
Image< PixRGB< byte > > BlurFoveator::foveate | ( | const Image< PixRGB< byte > > & | img, | |
int | filterSize, | |||
int | x, | |||
int | y | |||
) | [static] |
Perform one blur foveation without a BlurFoveator.
This function is for foveating ONE image with a call such as BlurFoveator::foveate(). It is not optimized for foveating multiple images.
img | image to be foveated | |
filterSize | size of blur filter to be applied | |
x | horizontal coordinate of origin | |
y | vertical coordinate of origin |
Definition at line 321 of file BlurFoveator.C.
References Image< T >::coordsOk(), Foveator::height, max(), NO_INIT, Image< T >::setVal(), and Foveator::width.
Perform blur foveation and return resulting image.
Implements Foveator.
Definition at line 233 of file BlurFoveator.C.
References Image< T >::coordsOk(), Image< T >::getVal(), Foveator::height, Point2D< T >::i, max(), NO_INIT, Foveator::origin, Foveator::original, Image< T >::setVal(), and Foveator::width.
Referenced by main().
BlurFoveator & BlurFoveator::operator= | ( | const BlurFoveator & | bf | ) |
Construct a BlurFoveator equal to another.
Definition at line 55 of file BlurFoveator.C.
References BlurFoveator().