MRPT
1.9.9
|
#include <mrpt/3rdparty/do_opencv_includes.h>
#include <mrpt/img/CImage.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 |
Functions | |
int | cvFindChessboardCorners3 (const mrpt::img::CImage &img_, CvSize pattern_size, std::vector< CvPoint2D32f > &out_corners) |
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) |
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) |
void | icvFindConnectedQuads (std::vector< CvCBQuad::Ptr > &in_quads, std::vector< CvCBQuad::Ptr > &out_quad_group, const int group_idx, const int dilation) |
void | mrLabelQuadGroup (std::vector< CvCBQuad::Ptr > &quad_group, const CvSize &pattern_size, bool firstRun) |
void | icvCleanFoundConnectedQuads (std::vector< CvCBQuad::Ptr > &quads, const CvSize &pattern_size) |
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) |
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) |
#define VIS 0 |
Definition at line 25 of file checkerboard_ocamcalib_detector.h.
int cvFindChessboardCorners3 | ( | const mrpt::img::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().
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 | ||
) |
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().
bool find_chessboard_corners_multiple | ( | const mrpt::img::CImage & | img_, |
CvSize | pattern_size, | ||
std::vector< std::vector< CvPoint2D32f >> & | out_corners | ||
) |
Definition at line 35 of file checkerboard_multiple_detector.cpp.
References mrpt::img::CImage::asCvMat(), mrpt::img::CH_GRAY, mrpt::img::CImage::clear(), CvCBQuad::corners, mrpt::math::distance(), do_special_dilation(), mrpt::img::FAST_REF_OR_CONVERT_TO_GRAY, mrpt::img::CImage::getHeight(), mrpt::img::CImage::getWidth(), icvCleanFoundConnectedQuads(), icvFindConnectedQuads(), icvGenerateQuads(), mrpt::keep_min(), mrpt::math::kmeanspp(), mrFindQuadNeighbors2(), mrLabelQuadGroup(), myQuads2Points(), quadListMakeUnique(), and mrpt::img::SHALLOW_COPY.
Referenced by mrpt::vision::findMultipleChessboardsCorners().
void icvCleanFoundConnectedQuads | ( | std::vector< CvCBQuad::Ptr > & | quads, |
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().
void icvFindConnectedQuads | ( | std::vector< CvCBQuad::Ptr > & | in_quads, |
std::vector< CvCBQuad::Ptr > & | out_quad_group, | ||
const int | group_idx, | ||
const int | dilation | ||
) |
Definition at line 715 of file checkerboard_ocamcalib_detector.cpp.
References MRPT_UNUSED_PARAM.
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
int icvGenerateQuads | ( | std::vector< CvCBQuad::Ptr > & | quads, |
std::vector< CvCBCorner::Ptr > & | corners, | ||
const mrpt::img::CImage & | img, | ||
int | flags, | ||
int | dilation, | ||
bool | firstRun | ||
) |
(flags & CV_CALIB_CB_FILTER_QUADS) ||
Definition at line 1878 of file checkerboard_ocamcalib_detector.cpp.
References mrpt::img::CImage::asCvMat(), CvContourEx::counter, mrpt::img::CImage::getHeight(), mrpt::img::CImage::getWidth(), MAX_CONTOUR_APPROX, MRPT_UNUSED_PARAM, and mrpt::img::SHALLOW_COPY.
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
int mrAugmentBestRun | ( | std::vector< CvCBQuad::Ptr > & | new_quads, |
int | new_dilation, | ||
std::vector< CvCBQuad::Ptr > & | old_quads, | ||
int | old_dilation | ||
) |
Definition at line 1491 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< CvCBQuad::Ptr > & | quads, |
int | dilation | ||
) |
Definition at line 1230 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< CvCBQuad::Ptr > & | quad_group, |
const CvSize & | pattern_size, | ||
bool | firstRun | ||
) |
Definition at line 769 of file checkerboard_ocamcalib_detector.cpp.
References CvCBQuad::corners, CvCBQuad::count, and CvCBQuad::labeled.
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
int myQuads2Points | ( | const std::vector< CvCBQuad::Ptr > & | output_quads, |
const CvSize & | pattern_size, | ||
std::vector< CvPoint2D32f > & | out_corners | ||
) |
Definition at line 2056 of file checkerboard_ocamcalib_detector.cpp.
Referenced by cvFindChessboardCorners3(), and find_chessboard_corners_multiple().
void quadListMakeUnique | ( | std::vector< CvCBQuad::Ptr > & | quads | ) |
Definition at line 2240 of file checkerboard_ocamcalib_detector.cpp.
Referenced by find_chessboard_corners_multiple().
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 3a26b90fd Wed Mar 25 20:17:03 2020 +0100 at miƩ mar 25 23:05:41 CET 2020 |