Resurgence (PY2022)
Codebase for the Husky Robotics 2021-2022 rover Resurgence
Loading...
Searching...
No Matches
CameraParams.h
1#pragma once
2
3#include <vector>
4
5#include <opencv2/core.hpp>
6
7namespace cam {
8
13
24const std::string KEY_IMAGE_WIDTH = "image_width";
28const std::string KEY_IMAGE_HEIGHT = "image_height";
32const std::string KEY_CAMERA_MATRIX = "camera_matrix";
36const std::string KEY_DIST_COEFFS = "distortion_coefficients";
37
39
61private:
62 cv::Mat _camera_matrix;
63 cv::Mat _dist_coeff;
64 cv::Size _image_size;
65 void init(const cv::Mat& camera_matrix, const cv::Mat& dist_coeff, cv::Size image_size);
66
67public:
88 CameraParams(const cv::Mat& camera_matrix, const cv::Mat& dist_coeff,
89 cv::Size image_size = cv::Size(640, 480));
97 CameraParams(const CameraParams& other);
98 bool empty() const;
102 cv::Mat getCameraMatrix() const;
107 cv::Mat getDistCoeff() const;
111 cv::Size getImageSize() const;
116
120 CameraParams& operator=(const CameraParams& other);
121
128 void readFromFileNode(const cv::FileNode& file_node);
136 void writeToFileStorage(cv::FileStorage& file_storage) const;
137};
138
145void read(const cv::FileNode& node, CameraParams& params,
146 const CameraParams& default_value = CameraParams());
153void write(cv::FileStorage& fs, const std::string& name, const CameraParams& params);
154
156
157} // namespace cam
158
159// namespace cam
_GLIBCXX_END_NAMESPACE_CXX11 typedef basic_string< char > string
Represents a set of intrinsic camera parameters.
Definition CameraParams.h:60
void writeToFileStorage(cv::FileStorage &file_storage) const
Writes the data for this CameraParams object to the given cv::FileStorage object.
Definition CameraParams.cpp:103
cv::Size getImageSize() const
Gets the image size this set of intrinsic parameters was calibrated for.
Definition CameraParams.cpp:65
void readFromFileNode(const cv::FileNode &file_node)
Reads the data for this CameraParams object from the given cv::FileNode object.
Definition CameraParams.cpp:91
cv::Mat getDistCoeff() const
Gets the distortion coefficients (as a column vector) associated with this set of camera parameters.
Definition CameraParams.cpp:61
std::vector< double > getIntrinsicList()
Gets the camera intrinsics as a 1d list.
Definition CameraParams.cpp:69
CameraParams & operator=(const CameraParams &other)
Define a copy assignment operator.
Definition CameraParams.cpp:80
cv::Mat getCameraMatrix() const
Gets the camera matrix associated with this set of camera parameters.
Definition CameraParams.cpp:57
CameraParams()
Constructs a default or empty set of camera parameters.
Definition CameraParams.cpp:14
void read(const cv::FileNode &node, cam::CameraParams &params, const cam::CameraParams &default_value)
Reads a CameraParams object from the given cv::FileNode object.
Definition CameraParams.cpp:112
const std::string KEY_CAMERA_MATRIX
Config file key for the camera matrix.
Definition CameraParams.h:32
void write(cv::FileStorage &fs, const std::string &name, const cam::CameraParams &params)
Writes the given CameraParams object to the given cv::FileStorage object.
Definition CameraParams.cpp:121
const std::string KEY_IMAGE_WIDTH
Config file key for image width.
Definition CameraParams.h:24
const std::string KEY_DIST_COEFFS
Config file key for the distortion coefficients.
Definition CameraParams.h:36
const std::string KEY_IMAGE_HEIGHT
Config file key for image height.
Definition CameraParams.h:28
Size2i Size
Namespace for camera access system.
Definition Camera.cpp:13