# cv::SpinImageModel Class Reference

`#include <contrib.hpp>`

List of all members.

## Public Member Functions

void | compute ()
const Mesh3D & | getMesh () const
Mesh3D & | getMesh ()
size_t | getSpinCount () const
Mat | getSpinImage (size_t index) const
const Point3f & | getSpinNormal (size_t index) const
const Point3f & | getSpinVertex (size_t index) const
void | match (const SpinImageModel &scene, vector< vector< Vec2i > > &result)
Mat | packRandomScaledSpins (bool separateScale=false, size_t xCount=10, size_t yCount=10) const
void | selectRandomSubset (float ratio)
void | setLogger (std::ostream *log)
void | setSubset (const vector< int > &subset)
| SpinImageModel ()
| SpinImageModel (const Mesh3D &mesh)
| ~SpinImageModel ()

## Static Public Member Functions

static Point2f | calcSpinMapCoo (const Point3f &point, const Point3f &vertex, const Point3f &normal)
static float | geometricConsistency (const Point3f &pointScene1, const Point3f &normalScene1, const Point3f &pointModel1, const Point3f &normalModel1, const Point3f &pointScene2, const Point3f &normalScene2, const Point3f &pointModel2, const Point3f &normalModel2)
static float | groupingCreteria (const Point3f &pointScene1, const Point3f &normalScene1, const Point3f &pointModel1, const Point3f &normalModel1, const Point3f &pointScene2, const Point3f &normalScene2, const Point3f &pointModel2, const Point3f &normalModel2, float gamma)
static bool | spinCorrelation (const Mat &spin1, const Mat &spin2, float lambda, float &result)

## Public Attributes

float | binSize
float | gamma
int | imageWidth
float | lambda
int | minNeighbors
float | normalRadius
float | T_GeometriccConsistency
float | T_GroupingCorespondances

## Protected Member Functions

void | defaultParams ()
void | matchSpinToModel (const Mat &spin, vector< int > &indeces, vector< float > &corrCoeffs, bool useExtremeOutliers=true) const
void | repackSpinImages (const vector< uchar > &mask, Mat &spinImages, bool reAlloc=true) const

## Protected Attributes

Mesh3D | mesh
std::ostream * | out
Mat | spinImages
vector< int > | subset

## Constructor & Destructor Documentation

cv::SpinImageModel::SpinImageModel | ( | ) |

cv::SpinImageModel::SpinImageModel | ( | const Mesh3D & | mesh ) | `[explicit]`

cv::SpinImageModel::~SpinImageModel | ( | ) |

## Member Function Documentation

static Point2f cv::SpinImageModel::calcSpinMapCoo | ( | const Point3f & | point,
|  | const Point3f & | vertex,
|  | const Point3f & | normal
| ) |  | `[static]`

void cv::SpinImageModel::compute | ( | ) |

void cv::SpinImageModel::defaultParams | ( | ) | `[protected]`

static float cv::SpinImageModel::geometricConsistency | ( | const Point3f & | pointScene1,
|  | const Point3f & | normalScene1,
|  | const Point3f & | pointModel1,
|  | const Point3f & | normalModel1,
|  | const Point3f & | pointScene2,
|  | const Point3f & | normalScene2,
|  | const Point3f & | pointModel2,
|  | const Point3f & | normalModel2
| ) |  | `[static]`

const Mesh3D& cv::SpinImageModel::getMesh | ( | ) | const`[inline]`

Mesh3D& cv::SpinImageModel::getMesh | ( | ) | `[inline]`

size_t cv::SpinImageModel::getSpinCount | ( | ) | const`[inline]`

Mat cv::SpinImageModel::getSpinImage | ( | size_t | index ) | const`[inline]`

const Point3f& cv::SpinImageModel::getSpinNormal | ( | size_t | index ) | const`[inline]`

const Point3f& cv::SpinImageModel::getSpinVertex | ( | size_t | index ) | const`[inline]`

static float cv::SpinImageModel::groupingCreteria | ( | const Point3f & | pointScene1,
|  | const Point3f & | normalScene1,
|  | const Point3f & | pointModel1,
|  | const Point3f & | normalModel1,
|  | const Point3f & | pointScene2,
|  | const Point3f & | normalScene2,
|  | const Point3f & | pointModel2,
|  | const Point3f & | normalModel2,
|  | float | gamma
| ) |  | `[static]`

void cv::SpinImageModel::match | ( | const SpinImageModel & | scene,
|  | vector< vector< Vec2i > > & | result
| ) |  |

void cv::SpinImageModel::matchSpinToModel | ( | const Mat & | spin,
|  | vector< int > & | indeces,
|  | vector< float > & | corrCoeffs,
|  | bool | useExtremeOutliers = `true`
| ) |  | const`[protected]`

Mat cv::SpinImageModel::packRandomScaledSpins | ( | bool | separateScale = `false`,
|  | size_t | xCount = `10`,
|  | size_t | yCount = `10`
| ) |  | const

void cv::SpinImageModel::repackSpinImages | ( | const vector< uchar > & | mask,
|  | Mat & | spinImages,
|  | bool | reAlloc = `true`
| ) |  | const`[protected]`

void cv::SpinImageModel::selectRandomSubset | ( | float | ratio ) |

void cv::SpinImageModel::setLogger | ( | std::ostream * | log ) |

void cv::SpinImageModel::setSubset | ( | const vector< int > & | subset ) |

static bool cv::SpinImageModel::spinCorrelation | ( | const Mat & | spin1,
|  | const Mat & | spin2,
|  | float | lambda,
|  | float & | result
| ) |  | `[static]`

## Member Data Documentation

float cv::SpinImageModel::binSize

float cv::SpinImageModel::gamma

int cv::SpinImageModel::imageWidth

float cv::SpinImageModel::lambda

Mesh3D cv::SpinImageModel::mesh`[protected]`

int cv::SpinImageModel::minNeighbors

float cv::SpinImageModel::normalRadius

std::ostream* cv::SpinImageModel::out`[protected]`

Mat cv::SpinImageModel::spinImages`[protected]`

vector<int> cv::SpinImageModel::subset`[protected]`

float cv::SpinImageModel::T_GeometriccConsistency

float cv::SpinImageModel::T_GroupingCorespondances

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

- /usr/obj/OpenCV-2.2.0/OpenCV-2.2.0/modules/contrib/include/opencv2/contrib/contrib.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines