1 #ifndef LICORNEA_KINECT_LIVE_CHECKERBOARD_H_ 2 #define LICORNEA_KINECT_LIVE_CHECKERBOARD_H_ 4 #include "../../lib/opencv.h" 5 #include "../../lib/obj_img_correspondence.h" 6 #include "../../lib/intrinsics.h" 20 checkerboard(
int cols_,
int rows_,
real square_width_,
const std::vector<vec2>& corners_);
22 vec2 corner(
int col,
int row)
const {
return corners[cols*row + col]; }
24 bool is_null()
const {
return corners.empty(); }
25 explicit operator bool ()
const {
return !
is_null(); }
50 real calculated_depth = NAN;
63 cv::Vec3b lines_color = cv::Vec3b(100, 100, 255);
64 int line_thickness = 3;
65 bool cv_visualization =
true;
void calculate_checkerboard_pixel_depths(const intrinsics &intr, const checkerboard_extrinsics &ext, std::vector< checkerboard_pixel_depth_sample > &inout_samples)
obj_img_correspondences< 1, 1 > checkerboard_obj_img_correspondences(const checkerboard &chk)
std::vector< vec2 > checkerboard_image_corners(const checkerboard &chk)
checkerboard_extrinsics estimate_checkerboard_extrinsics(const checkerboard &chk, const intrinsics &intr)
cv::Mat_< cv::Vec3b > visualize_checkerboard(const cv::Mat_< cv::Vec3b > &img, const checkerboard &chk, const checkerboard_visualization_parameters ¶m)
std::vector< vec2 > outer_corners
checkerboard detect_color_checkerboard(cv::Mat_< cv::Vec3b > &img, int cols, int rows, real square_width)
std::vector< vec2 > corners
vec2 checkerboard_parallel_measures(const checkerboard &chk)
std::size_t corners_count() const
real calculate_parallel_checkerboard_depth(const checkerboard &chk, const intrinsics &intr)
cv::Mat_< cv::Vec3b > visualize_checkerboard_pixel_samples(const cv::Mat_< cv::Vec3b > &img, const std::vector< checkerboard_pixel_depth_sample > &pixels, int rad)
cv::Matx< real, 3, 3 > mat33
std::vector< obj_img_correspondence< Obj_count, Img_count >> obj_img_correspondences
vec2 corner(int col, int row) const
std::vector< vec3 > checkerboard_world_corners(int cols, int rows, real square_width)
real checkerboard_reprojection_error(const checkerboard &chk, const intrinsics &intr, const checkerboard_extrinsics &ext)
obj_img_correspondences< 1, 2 > checkerboard_obj_2img_correspondences(const checkerboard &chk1, const checkerboard &chk2)
checkerboard detect_ir_checkerboard(cv::Mat_< uchar > &img, int cols, int rows, real square_width)
std::vector< cv::Point > outer_corners_i() const
std::vector< checkerboard_pixel_depth_sample > checkerboard_pixel_depth_samples(const checkerboard &chk, const cv::Mat_< float > &depth_image, int granularity)