#include <contrib.hpp>
Public Member Functions | |
void | compute () |
Mesh3D & | getMesh () |
const Mesh3D & | getMesh () const |
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 (const Mesh3D &mesh) | |
SpinImageModel () | |
~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 |
cv::SpinImageModel::SpinImageModel | ( | ) |
cv::SpinImageModel::SpinImageModel | ( | const Mesh3D & | mesh | ) | [explicit] |
cv::SpinImageModel::~SpinImageModel | ( | ) |
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] |
Mesh3D& cv::SpinImageModel::getMesh | ( | ) | [inline] |
const Mesh3D& cv::SpinImageModel::getMesh | ( | ) | const [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] |
Mesh3D cv::SpinImageModel::mesh [protected] |
std::ostream* cv::SpinImageModel::out [protected] |
Mat cv::SpinImageModel::spinImages [protected] |
vector<int> cv::SpinImageModel::subset [protected] |