#include <mrpt/otherlibs/do_opencv_includes.h>
#include <cmath>
#include <cstdio>
#include <memory>
Go to the source code of this file.
Classes | |
struct | CvContourEx |
struct | CvCBCorner |
struct | CvCBQuad |
Macros | |
#define | VIS 0 |
Typedefs | |
typedef std::shared_ptr< CvCBCorner > | CvCBCornerPtr |
typedef std::shared_ptr< CvCBQuad > | CvCBQuadPtr |
Functions | |
int | cvFindChessboardCorners3 (const mrpt::utils::CImage &img_, CvSize pattern_size, std::vector< CvPoint2D32f > &out_corners) |
bool | find_chessboard_corners_multiple (const mrpt::utils::CImage &img_, CvSize pattern_size, std::vector< std::vector< CvPoint2D32f > > &out_corners) |
int | icvGenerateQuads (std::vector< CvCBQuadPtr > &quads, std::vector< CvCBCornerPtr > &corners, const mrpt::utils::CImage &img, int flags, int dilation, bool firstRun) |
void | mrFindQuadNeighbors2 (std::vector< CvCBQuadPtr > &quads, int dilation) |
int | mrAugmentBestRun (std::vector< CvCBQuadPtr > &new_quads, int new_dilation, std::vector< CvCBQuadPtr > &old_quads, int old_dilation) |
void | icvFindConnectedQuads (std::vector< CvCBQuadPtr > &in_quads, std::vector< CvCBQuadPtr > &out_quad_group, const int group_idx, const int dilation) |
void | mrLabelQuadGroup (std::vector< CvCBQuadPtr > &quad_group, const CvSize &pattern_size, bool firstRun) |
void | icvCleanFoundConnectedQuads (std::vector< CvCBQuadPtr > &quads, const CvSize &pattern_size) |
int | myQuads2Points (const std::vector< CvCBQuadPtr > &output_quads, const CvSize &pattern_size, std::vector< CvPoint2D32f > &out_corners) |
void | quadListMakeUnique (std::vector< CvCBQuadPtr > &quads) |
bool | do_special_dilation (mrpt::utils::CImage &thresh_img, const int dilations, IplConvKernel *kernel_cross, IplConvKernel *kernel_rect, IplConvKernel *kernel_diag1, IplConvKernel *kernel_diag2, IplConvKernel *kernel_horz, IplConvKernel *kernel_vert) |
#define VIS 0 |
Definition at line 25 of file checkerboard_ocamcalib_detector.h.
typedef std::shared_ptr<CvCBCorner> CvCBCornerPtr |
Definition at line 35 of file checkerboard_ocamcalib_detector.h.
typedef std::shared_ptr<CvCBQuad> CvCBQuadPtr |
Definition at line 54 of file checkerboard_ocamcalib_detector.h.
int cvFindChessboardCorners3 | ( | const mrpt::utils::CImage & | img_, |
CvSize | pattern_size, | ||
std::vector< CvPoint2D32f > & | out_corners | ||
) |
Definition at line 193 of file checkerboard_ocamcalib_detector.cpp.
References CH_GRAY, do_special_dilation(), mrpt::utils::FAST_REF_OR_CONVERT_TO_GRAY, mrpt::format(), mrpt::mrpt::format(), icvCleanFoundConnectedQuads(), icvFindConnectedQuads(), icvGenerateQuads(), MIN, mrAugmentBestRun(), mrFindQuadNeighbors2(), mrLabelQuadGroup(), myQuads2Points(), and mrpt::system::os::sprintf().
Referenced by mrpt::vision::findChessboardCorners().
bool do_special_dilation | ( | mrpt::utils::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 70 of file checkerboard_ocamcalib_detector.cpp.
References mrpt::utils::CImage::getAs().
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
bool find_chessboard_corners_multiple | ( | const mrpt::utils::CImage & | img_, |
CvSize | pattern_size, | ||
std::vector< std::vector< CvPoint2D32f > > & | out_corners | ||
) |
Definition at line 35 of file checkerboard_multiple_detector.cpp.
References CH_GRAY, mrpt::utils::CImage::colorImage(), mrpt::utils::CCanvas::cross(), mrpt::math::distance(), do_special_dilation(), mrpt::utils::FAST_REF_OR_CONVERT_TO_GRAY, mrpt::format(), icvCleanFoundConnectedQuads(), icvFindConnectedQuads(), icvGenerateQuads(), mrpt::utils::keep_min(), mrpt::math::kmeanspp(), MIN, mrFindQuadNeighbors2(), mrLabelQuadGroup(), myQuads2Points(), quadListMakeUnique(), mrpt::gui::CDisplayWindow::setWindowTitle(), mrpt::gui::CDisplayWindow::showImage(), and mrpt::gui::CBaseGUIWindow::waitForKey().
Referenced by mrpt::vision::findMultipleChessboardsCorners().
void icvCleanFoundConnectedQuads | ( | std::vector< CvCBQuadPtr > & | quads, |
const CvSize & | pattern_size | ||
) |
Definition at line 767 of file checkerboard_ocamcalib_detector.cpp.
References median(), and triangleArea().
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
void icvFindConnectedQuads | ( | std::vector< CvCBQuadPtr > & | in_quads, |
std::vector< CvCBQuadPtr > & | out_quad_group, | ||
const int | group_idx, | ||
const int | dilation | ||
) |
Definition at line 953 of file checkerboard_ocamcalib_detector.cpp.
References MRPT_UNUSED_PARAM.
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
int icvGenerateQuads | ( | std::vector< CvCBQuadPtr > & | quads, |
std::vector< CvCBCornerPtr > & | corners, | ||
const mrpt::utils::CImage & | img, | ||
int | flags, | ||
int | dilation, | ||
bool | firstRun | ||
) |
(flags & CV_CALIB_CB_FILTER_QUADS) ||
Definition at line 1988 of file checkerboard_ocamcalib_detector.cpp.
References CvContourEx::counter, MAX_CONTOUR_APPROX, and MRPT_UNUSED_PARAM.
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
int mrAugmentBestRun | ( | std::vector< CvCBQuadPtr > & | new_quads, |
int | new_dilation, | ||
std::vector< CvCBQuadPtr > & | old_quads, | ||
int | old_dilation | ||
) |
Definition at line 1652 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().
void mrFindQuadNeighbors2 | ( | std::vector< CvCBQuadPtr > & | quads, |
int | dilation | ||
) |
Definition at line 1428 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().
void mrLabelQuadGroup | ( | std::vector< CvCBQuadPtr > & | quad_group, |
const CvSize & | pattern_size, | ||
bool | firstRun | ||
) |
Definition at line 1011 of file checkerboard_ocamcalib_detector.cpp.
References min.
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
int myQuads2Points | ( | const std::vector< CvCBQuadPtr > & | output_quads, |
const CvSize & | pattern_size, | ||
std::vector< CvPoint2D32f > & | out_corners | ||
) |
Definition at line 2165 of file checkerboard_ocamcalib_detector.cpp.
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
void quadListMakeUnique | ( | std::vector< CvCBQuadPtr > & | quads | ) |
Definition at line 2333 of file checkerboard_ocamcalib_detector.cpp.
Referenced by find_chessboard_corners_multiple().
Page generated by Doxygen 1.8.14 for MRPT 1.5.9 Git: 690a4699f Wed Apr 15 19:29:53 2020 +0200 at miƩ abr 15 19:30:12 CEST 2020 |