Classes | Public Member Functions | Protected Member Functions | Protected Attributes
cv::LogPolar_Adjacent Class Reference

#include <contrib.hpp>

List of all members.

Classes

struct  pixel

Public Member Functions

 LogPolar_Adjacent ()
 LogPolar_Adjacent (int w, int h, Point2i center, int R=70, double ro0=3.0, double smin=0.25, int full=1, int S=117, int sp=1)
const Mat to_cortical (const Mat &source)
const Mat to_cartesian (const Mat &source)
 ~LogPolar_Adjacent ()

Protected Member Functions

void subdivide_recursively (double x, double y, int i, int j, double length, double smin)
bool get_uv (double x, double y, int &u, int &v)
void create_map (int M, int N, int R, int S, double ro0, double smin)

Protected Attributes

int S
int R
int M
int N
int top
int bottom
int left
int right
double ro0
double romax
double a
double q
vector< vector< pixel > > L
vector< double > A

Detailed Description

Adjacent receptive fields technique

*All the Cartesian pixels, whose coordinates in the cortical domain share the same integer part, are assigned to the same RF. *The precision of the boundaries of the RF can be improved by breaking each pixel into subpixels and assigning each of them to the correct RF. *This technique is implemented from: Traver, V., Pla, F.: Log-polar mapping template design: From task-level requirements *to geometry parameters. Image Vision Comput. 26(10) (2008) 1354-1370

*More details can be found in http://dx.doi.org/10.1007/978-3-642-23968-7_5


Constructor & Destructor Documentation

cv::LogPolar_Adjacent::LogPolar_Adjacent ( int  w,
int  h,
Point2i  center,
int  R = 70,
double  ro0 = 3.0,
double  smin = 0.25,
int  full = 1,
int  S = 117,
int  sp = 1 
)
     *Constructor
Parameters:
wthe width of the input image
hthe height of the input image
centerthe transformation center: where the output precision is maximal
Rthe number of rings of the cortical image (default value 70 pixel)
ro0the radius of the blind spot (default value 3 pixel)
sminthe size of the subpixel (default value 0.25 pixel)
full1 (default value) means that the retinal image (the inverse transform) is computed within the circumscribing circle. 0 means that the retinal image is computed within the inscribed circle.
Sthe number of sectors of the cortical image (default value 70 pixel). Its value is usually internally computed to obtain a pixel aspect ratio equals to 1.
sp1 (default value) means that the parameter S is internally computed. 0 means that the parameter S is provided by the user.

*Destructor


Member Function Documentation

const Mat cv::LogPolar_Adjacent::to_cortical ( const Mat source)
     *Transformation from Cartesian image to cortical (log-polar) image.
Parameters:
sourcethe Cartesian image
Returns:
the transformed image (cortical image)
const Mat cv::LogPolar_Adjacent::to_cartesian ( const Mat source)
     *Transformation from cortical image to retinal (inverse log-polar) image.
Parameters:
sourcethe cortical image
Returns:
the transformed image (retinal image)
void cv::LogPolar_Adjacent::subdivide_recursively ( double  x,
double  y,
int  i,
int  j,
double  length,
double  smin 
) [protected]
bool cv::LogPolar_Adjacent::get_uv ( double  x,
double  y,
int &  u,
int &  v 
) [protected]
void cv::LogPolar_Adjacent::create_map ( int  M,
int  N,
int  R,
int  S,
double  ro0,
double  smin 
) [protected]

Member Data Documentation

int cv::LogPolar_Adjacent::S [protected]
int cv::LogPolar_Adjacent::R [protected]
int cv::LogPolar_Adjacent::M [protected]
int cv::LogPolar_Adjacent::N [protected]
int cv::LogPolar_Adjacent::top [protected]
int cv::LogPolar_Adjacent::left [protected]
double cv::LogPolar_Adjacent::ro0 [protected]
double cv::LogPolar_Adjacent::romax [protected]
double cv::LogPolar_Adjacent::a [protected]
double cv::LogPolar_Adjacent::q [protected]
vector<vector<pixel> > cv::LogPolar_Adjacent::L [protected]
vector<double> cv::LogPolar_Adjacent::A [protected]

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