
#include "Image/OmniOps.H"#include "Image/Image.H"#include "Image/Pixels.H"#include <cmath>#include <iostream>#include "inst/Image/OmniOps.I"

Go to the source code of this file.
Functions | |
| template<class T > | |
| void | lowPassPixel (Image< T > &src, const int x, const int y, const int radius) |
| Perform a low pass filter about a specific pixel. | |
| template<class T > | |
| Image< PixRGB< T > > | omniCorrectGen (const Image< PixRGB< T > > &src, const int Rx, const int Ry, const int Xc, const int Yc, const int RA) |
| First step of omni directional correction. | |
| template<class T > | |
| Image< PixRGB< T > > | omniCorrectSp (const Image< PixRGB< T > > &src, const float r, const float hh, const float kk, const int, const int, const int Xc, const int Yc) |
| Second step of omni-directional correcton. | |
| template<class T > | |
| Image< PixRGB< T > > | omniDenebulize (const Image< PixRGB< T > > &src, const int radius) |
| Denebulize a color Image using targeted low pass filtering. | |
| template<class T > | |
| Image< T > | omniDenebulize (const Image< T > &src, const int radius) |
| Denebulize a byte Image using targeted low pass filtering. | |
Operations for omnidirectional correction
Definition in file OmniOps.C.
| void lowPassPixel | ( | Image< T > & | src, | |
| const int | x, | |||
| const int | y, | |||
| const int | radius | |||
| ) | [inline] |
Perform a low pass filter about a specific pixel.
| x | The x coord of the pixel | |
| y | The y coord of the pixel | |
| radius | The radius of the filter |
Definition at line 52 of file OmniOps.C.
References Image< T >::getHeight(), Image< T >::getVal(), Image< T >::getWidth(), Image< T >::setVal(), and sum().
Referenced by omniDenebulize().
| Image<PixRGB<T> > omniCorrectGen | ( | const Image< PixRGB< T > > & | src, | |
| const int | Rx, | |||
| const int | Ry, | |||
| const int | Xc, | |||
| const int | Yc, | |||
| const int | RA = 0 | |||
| ) | [inline] |
First step of omni directional correction.
| image | The image your are going to process | |
| Rx | The Radius in X - May be equal to Ry | |
| Ry | The Radius in Y - May be equal to Rx | |
| Xc | The center pixel x | |
| Yc | The center pixel y | |
| RA | Manual radius adjustment, this is used only for distortion adjustment. |
Definition at line 71 of file OmniOps.C.
References Point2D< T >::i, NO_INIT, Pixels< T, 3 >::setVal(), and sqrt().
Referenced by Omni< T >::run().
| Image<PixRGB<T> > omniCorrectSp | ( | const Image< PixRGB< T > > & | src, | |
| const float | r, | |||
| const float | hh, | |||
| const float | kk, | |||
| const int | Rx, | |||
| const int | Ry, | |||
| const int | Xc, | |||
| const int | Yc | |||
| ) | [inline] |
Second step of omni-directional correcton.
Values for r,h,k must be obtained via measurement and derived via circular regression (see Mundhenk et al SPIE 2000) Note: run omniCorrectGen first.
| image | The image your are going to process | |
| r | The radius calculated by circular regression | |
| hh | The Circle center coord h (i.e. x) | |
| kk | The Circle center coord k (i.e. y) | |
| Rx | The Radius in X - May be equal to Ry | |
| Ry | The Radius in Y - May be equal to Rx | |
| Xc | The center pixel x | |
| Yc | The center pixel y |
Denebulize a byte Image using targeted low pass filtering.
| image | a standard Image | |
| radius | The size of the filter |
Definition at line 213 of file OmniOps.C.
References Image< T >::getHeight(), Image< T >::getVal(), Image< T >::getWidth(), and lowPassPixel().
| Image<PixRGB<T> > omniDenebulize | ( | const Image< PixRGB< T > > & | src, | |
| const int | radius | |||
| ) | [inline] |
Denebulize a color Image using targeted low pass filtering.
| image | a standard Image | |
| radius | The size of the filter |
Definition at line 192 of file OmniOps.C.
References PixRGB< T >::blue(), PixRGB< T >::green(), lowPassPixel(), and PixRGB< T >::red().
Referenced by Omni< T >::run().
1.6.3