| | #ifndef OPENPOSE_PRIVATE_CALIBRATION_GRID_PATTERN_FUNCTIONS_HPP |
| | #define OPENPOSE_PRIVATE_CALIBRATION_GRID_PATTERN_FUNCTIONS_HPP |
| |
|
| | #include <opencv2/opencv.hpp> |
| | #include <openpose/core/common.hpp> |
| |
|
| | namespace op |
| | { |
| | enum class Points2DOrigin |
| | { |
| | TopLeft, |
| | TopRight, |
| | BottomLeft, |
| | BottomRight |
| | }; |
| |
|
| | std::pair<bool, std::vector<cv::Point2f>> findAccurateGridCorners( |
| | const cv::Mat& image, const cv::Size& gridInnerCorners); |
| |
|
| | std::vector<cv::Point3f> getObjects3DVector( |
| | const cv::Size& gridInnerCorners, const float gridSquareSizeMm); |
| |
|
| | void drawGridCorners( |
| | cv::Mat& image, const cv::Size& gridInnerCorners, const std::vector<cv::Point2f>& points2DVector); |
| |
|
| | std::array<unsigned int, 4> getOutterCornerIndices( |
| | const std::vector<cv::Point2f>& points2DVector, const cv::Size& gridInnerCorners); |
| |
|
| | void reorderPoints( |
| | std::vector<cv::Point2f>& points2DVector, const cv::Size& gridInnerCorners, |
| | const cv::Mat& image, const bool showWarning = true); |
| |
|
| | void plotGridCorners( |
| | const cv::Size& gridInnerCorners, const std::vector<cv::Point2f>& points2DVector, |
| | const std::string& imagePath, const cv::Mat& image); |
| | } |
| |
|
| | #endif |
| |
|