MRPT  2.0.2
Macros | Functions
checkerboard_ocamcalib_detector.cpp File Reference
#include "vision-precomp.h"
#include <stack>
#include "checkerboard_ocamcalib_detector.h"
#include <array>
#include <map>
Include dependency graph for checkerboard_ocamcalib_detector.cpp:

Go to the source code of this file.

Macros

#define MAX_CONTOUR_APPROX   7
 

Functions

bool do_special_dilation (CImage &thresh_img, const int dilations, IplConvKernel *kernel_cross, IplConvKernel *kernel_rect, IplConvKernel *kernel_diag1, IplConvKernel *kernel_diag2, IplConvKernel *kernel_horz, IplConvKernel *kernel_vert)
 
int cvFindChessboardCorners3 (const CImage &img_, CvSize pattern_size, std::vector< CvPoint2D32f > &out_corners)
 
double triangleArea (double x0, double y0, double x1, double y1, double x2, double y2)
 
double median (const std::vector< double > &vec)
 
void icvCleanFoundConnectedQuads (std::vector< CvCBQuad::Ptr > &quad_group, const CvSize &pattern_size)
 
void icvFindConnectedQuads (std::vector< CvCBQuad::Ptr > &quad, std::vector< CvCBQuad::Ptr > &out_group, const int group_idx, [[maybe_unused]] const int dilation)
 
void mrLabelQuadGroup (std::vector< CvCBQuad::Ptr > &quad_group, const CvSize &pattern_size, bool firstRun)
 
void mrFindQuadNeighbors2 (std::vector< CvCBQuad::Ptr > &quads, int dilation)
 
int mrAugmentBestRun (std::vector< CvCBQuad::Ptr > &new_quads, int new_dilation, std::vector< CvCBQuad::Ptr > &old_quads, int old_dilation)
 
int icvGenerateQuads (vector< CvCBQuad::Ptr > &out_quads, vector< CvCBCorner::Ptr > &out_corners, const CImage &image, int flags, [[maybe_unused]] int dilation, bool firstRun)
 
int myQuads2Points (const std::vector< CvCBQuad::Ptr > &output_quads, const CvSize &pattern_size, std::vector< CvPoint2D32f > &out_corners)
 
void quadListMakeUnique (std::vector< CvCBQuad::Ptr > &quads)
 

Macro Definition Documentation

◆ MAX_CONTOUR_APPROX

#define MAX_CONTOUR_APPROX   7

Definition at line 78 of file checkerboard_ocamcalib_detector.cpp.

Referenced by icvGenerateQuads().

Function Documentation

◆ cvFindChessboardCorners3()

int cvFindChessboardCorners3 ( const CImage img_,
CvSize  pattern_size,
std::vector< CvPoint2D32f > &  out_corners 
)

Definition at line 225 of file checkerboard_ocamcalib_detector.cpp.

References mrpt::img::CImage::asCvMat(), mrpt::img::CH_GRAY, do_special_dilation(), mrpt::img::FAST_REF_OR_CONVERT_TO_GRAY, mrpt::img::CImage::getHeight(), mrpt::img::CImage::getWidth(), icvCleanFoundConnectedQuads(), icvFindConnectedQuads(), icvGenerateQuads(), mrAugmentBestRun(), mrFindQuadNeighbors2(), mrLabelQuadGroup(), myQuads2Points(), and mrpt::img::SHALLOW_COPY.

Referenced by mrpt::vision::findChessboardCorners().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ do_special_dilation()

bool do_special_dilation ( CImage thresh_img,
const int  dilations,
IplConvKernel *  kernel_cross,
IplConvKernel *  kernel_rect,
IplConvKernel *  kernel_diag1,
IplConvKernel *  kernel_diag2,
IplConvKernel *  kernel_horz,
IplConvKernel *  kernel_vert 
)

Definition at line 82 of file checkerboard_ocamcalib_detector.cpp.

References mrpt::img::CImage::asCvMat(), and mrpt::img::SHALLOW_COPY.

Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ icvCleanFoundConnectedQuads()

void icvCleanFoundConnectedQuads ( std::vector< CvCBQuad::Ptr > &  quad_group,
const CvSize &  pattern_size 
)

Definition at line 545 of file checkerboard_ocamcalib_detector.cpp.

References median(), and triangleArea().

Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ icvFindConnectedQuads()

void icvFindConnectedQuads ( std::vector< CvCBQuad::Ptr > &  quad,
std::vector< CvCBQuad::Ptr > &  out_group,
const int  group_idx,
[[maybe_unused] ] const int  dilation 
)

Definition at line 715 of file checkerboard_ocamcalib_detector.cpp.

Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().

Here is the caller graph for this function:

◆ icvGenerateQuads()

int icvGenerateQuads ( vector< CvCBQuad::Ptr > &  out_quads,
vector< CvCBCorner::Ptr > &  out_corners,
const CImage image,
int  flags,
[[maybe_unused] ] int  dilation,
bool  firstRun 
)

(flags & CV_CALIB_CB_FILTER_QUADS) ||

Definition at line 1877 of file checkerboard_ocamcalib_detector.cpp.

References mrpt::img::CImage::asCvMat(), CvContourEx::counter, mrpt::img::CImage::getHeight(), mrpt::img::CImage::getWidth(), MAX_CONTOUR_APPROX, and mrpt::img::SHALLOW_COPY.

Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ median()

double median ( const std::vector< double > &  vec)

Definition at line 532 of file checkerboard_ocamcalib_detector.cpp.

Referenced by icvCleanFoundConnectedQuads().

Here is the caller graph for this function:

◆ mrAugmentBestRun()

int mrAugmentBestRun ( std::vector< CvCBQuad::Ptr > &  new_quads,
int  new_dilation,
std::vector< CvCBQuad::Ptr > &  old_quads,
int  old_dilation 
)

Definition at line 1490 of file checkerboard_ocamcalib_detector.cpp.

References mrpt::obs::gnss::a1, mrpt::obs::gnss::a2, mrpt::obs::gnss::a3, mrpt::obs::gnss::b1, mrpt::obs::gnss::b2, and mrpt::obs::gnss::b3.

Referenced by cvFindChessboardCorners3().

Here is the caller graph for this function:

◆ mrFindQuadNeighbors2()

void mrFindQuadNeighbors2 ( std::vector< CvCBQuad::Ptr > &  quads,
int  dilation 
)

Definition at line 1229 of file checkerboard_ocamcalib_detector.cpp.

References mrpt::obs::gnss::a1, mrpt::obs::gnss::a2, mrpt::obs::gnss::a3, mrpt::obs::gnss::b1, mrpt::obs::gnss::b2, and mrpt::obs::gnss::b3.

Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().

Here is the caller graph for this function:

◆ mrLabelQuadGroup()

void mrLabelQuadGroup ( std::vector< CvCBQuad::Ptr > &  quad_group,
const CvSize &  pattern_size,
bool  firstRun 
)

Definition at line 768 of file checkerboard_ocamcalib_detector.cpp.

References CvCBQuad::corners, CvCBQuad::count, and CvCBQuad::labeled.

Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().

Here is the caller graph for this function:

◆ myQuads2Points()

int myQuads2Points ( const std::vector< CvCBQuad::Ptr > &  output_quads,
const CvSize &  pattern_size,
std::vector< CvPoint2D32f > &  out_corners 
)

Definition at line 2055 of file checkerboard_ocamcalib_detector.cpp.

Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().

Here is the caller graph for this function:

◆ quadListMakeUnique()

void quadListMakeUnique ( std::vector< CvCBQuad::Ptr > &  quads)

Definition at line 2239 of file checkerboard_ocamcalib_detector.cpp.

Referenced by find_chessboard_corners_multiple().

Here is the caller graph for this function:

◆ triangleArea()

double triangleArea ( double  x0,
double  y0,
double  x1,
double  y1,
double  x2,
double  y2 
)

Definition at line 526 of file checkerboard_ocamcalib_detector.cpp.

Referenced by icvCleanFoundConnectedQuads().

Here is the caller graph for this function:



Page generated by Doxygen 1.8.14 for MRPT 2.0.2 Git: 9b4fd2465 Mon May 4 16:59:08 2020 +0200 at lun may 4 17:26:07 CEST 2020