10 #ifndef INTERNAL_CHECKERBOARD_INCL_H
11 #define INTERNAL_CHECKERBOARD_INCL_H
14 #include <mrpt/otherlibs/do_opencv_includes.h>
39 using Ptr = std::shared_ptr<CvCBCorner>;
55 using Ptr = std::shared_ptr<CvCBQuad>;
82 std::vector<CvPoint2D32f>& out_corners);
87 std::vector<std::vector<CvPoint2D32f>>& out_corners);
93 std::vector<CvCBQuad::Ptr>& quads, std::vector<CvCBCorner::Ptr>& corners,
99 std::vector<CvCBQuad::Ptr>& new_quads,
int new_dilation,
100 std::vector<CvCBQuad::Ptr>& old_quads,
int old_dilation);
103 std::vector<CvCBQuad::Ptr>& in_quads,
104 std::vector<CvCBQuad::Ptr>& out_quad_group,
const int group_idx,
108 std::vector<CvCBQuad::Ptr>& quad_group,
const CvSize& pattern_size,
113 std::vector<CvCBQuad::Ptr>& quads,
const CvSize& pattern_size);
117 const std::vector<CvCBQuad::Ptr>& output_quads,
const CvSize& pattern_size,
118 std::vector<CvPoint2D32f>& out_corners);
128 IplConvKernel* kernel_cross, IplConvKernel* kernel_rect,
129 IplConvKernel* kernel_diag1, IplConvKernel* kernel_diag2,
130 IplConvKernel* kernel_horz, IplConvKernel* kernel_vert);
void mrLabelQuadGroup(std::vector< CvCBQuad::Ptr > &quad_group, const CvSize &pattern_size, bool firstRun)
void icvFindConnectedQuads(std::vector< CvCBQuad::Ptr > &in_quads, std::vector< CvCBQuad::Ptr > &out_quad_group, const int group_idx, const int dilation)
void icvCleanFoundConnectedQuads(std::vector< CvCBQuad::Ptr > &quads, const CvSize &pattern_size)
int mrAugmentBestRun(std::vector< CvCBQuad::Ptr > &new_quads, int new_dilation, std::vector< CvCBQuad::Ptr > &old_quads, int old_dilation)
bool find_chessboard_corners_multiple(const mrpt::img::CImage &img_, CvSize pattern_size, std::vector< std::vector< CvPoint2D32f >> &out_corners)
int icvGenerateQuads(std::vector< CvCBQuad::Ptr > &quads, std::vector< CvCBCorner::Ptr > &corners, const mrpt::img::CImage &img, int flags, int dilation, bool firstRun)
int myQuads2Points(const std::vector< CvCBQuad::Ptr > &output_quads, const CvSize &pattern_size, std::vector< CvPoint2D32f > &out_corners)
int cvFindChessboardCorners3(const mrpt::img::CImage &img_, CvSize pattern_size, std::vector< CvPoint2D32f > &out_corners)
void quadListMakeUnique(std::vector< CvCBQuad::Ptr > &quads)
bool do_special_dilation(mrpt::img::CImage &thresh_img, const int dilations, IplConvKernel *kernel_cross, IplConvKernel *kernel_rect, IplConvKernel *kernel_diag1, IplConvKernel *kernel_diag2, IplConvKernel *kernel_horz, IplConvKernel *kernel_vert)
void mrFindQuadNeighbors2(std::vector< CvCBQuad::Ptr > &quads, int dilation)
A class for storing images as grayscale or RGB bitmaps.
GLenum GLenum GLvoid * row
GLenum GLenum GLvoid GLvoid * column
GLuint GLuint GLsizei count
std::shared_ptr< CvCBCorner > Ptr
std::shared_ptr< CvCBQuad > Ptr