blob: 1f4d099046e8863d3c4d008bfe5d0f92d243ab27 [file] [log] [blame]
James Kuszmauld67f6d22023-02-05 17:37:25 -08001#ifndef Y2023_VISION_VISION_UTIL_H_
2#define Y2023_VISION_VISION_UTIL_H_
3#include <string_view>
4
milind-uf2a4e322023-02-01 19:33:10 -08005#include "opencv2/imgproc.hpp"
Philipp Schrader790cb542023-07-05 21:06:52 -07006
James Kuszmauld67f6d22023-02-05 17:37:25 -08007#include "y2023/constants/constants_generated.h"
milind-uf2a4e322023-02-01 19:33:10 -08008
James Kuszmauld67f6d22023-02-05 17:37:25 -08009namespace y2023::vision {
10
11const frc971::vision::calibration::CameraCalibration *FindCameraCalibration(
12 const y2023::Constants &calibration_data, std::string_view node_name);
milind-uf2a4e322023-02-01 19:33:10 -080013
James Kuszmaul258e4ee2023-02-23 14:22:30 -080014std::optional<cv::Mat> CameraExtrinsics(
milind-uf2a4e322023-02-01 19:33:10 -080015 const frc971::vision::calibration::CameraCalibration *camera_calibration);
16
17cv::Mat CameraIntrinsics(
18 const frc971::vision::calibration::CameraCalibration *camera_calibration);
19
20cv::Mat CameraDistCoeffs(
21 const frc971::vision::calibration::CameraCalibration *camera_calibration);
22
23} // namespace y2023::vision
24
James Kuszmauld67f6d22023-02-05 17:37:25 -080025#endif // Y2023_VISION_VISION_UTIL_H_