Resurgence (PY2022)
Codebase for the Husky Robotics 2021-2022 rover Resurgence
Loading...
Searching...
No Matches
CameraConfig.h
1#pragma once
2
3#include "CameraParams.h"
4
5#include <optional>
6#include <string>
7#include <variant>
8
9#include <opencv2/core.hpp>
10
11namespace cam {
12
17
28const std::string KEY_FILENAME = "filename";
32const std::string KEY_CAMERA_ID = "camera_id";
36const std::string KEY_INTRINSIC_PARAMS = "intrinsic_params";
40const std::string KEY_EXTRINSIC_PARAMS = "extrinsic_params";
44const std::string KEY_CALIB_INFO = "calib_info";
48const std::string KEY_NAME = "name";
52const std::string KEY_DESCRIPTION = "description";
54
59public:
74 virtual const char* what() const noexcept;
75
76private:
77 std::string _msg;
78};
79
88
92 std::optional<CameraParams> intrinsicParams;
93
97 std::optional<cv::Mat> extrinsicParams;
98
105 std::variant<std::string, int> filenameOrID;
106
110 std::optional<std::string> description;
111};
112
126
128
129} // namespace cam
_GLIBCXX_END_NAMESPACE_CXX11 typedef basic_string< char > string
virtual const char * what() const noexcept
Returns the exception message as a C string.
Definition CameraConfig.cpp:11
invalid_camera_config()
Constructs an invalid_camera_config exception with the default message "Invalid cameraconfiguration".
Definition CameraConfig.cpp:6
const std::string KEY_NAME
Config file key for camera name.
Definition CameraConfig.h:48
const std::string KEY_FILENAME
Config file key for camera filename.
Definition CameraConfig.h:28
const std::string KEY_EXTRINSIC_PARAMS
Config file key for extrinsic parameters.
Definition CameraConfig.h:40
const std::string KEY_DESCRIPTION
Config file key for camera description.
Definition CameraConfig.h:52
const std::string KEY_INTRINSIC_PARAMS
Config file key for intrinsic parameters.
Definition CameraConfig.h:36
const std::string KEY_CAMERA_ID
Config file key for camera id.
Definition CameraConfig.h:32
CameraConfig readConfigFromFile(const std::string &filename)
Read the camera config from the specified file.
Definition CameraConfig.cpp:15
const std::string KEY_CALIB_INFO
Config file key for calibration information.
Definition CameraConfig.h:44
Namespace for camera access system.
Definition Camera.cpp:13
A struct that represents the information outlined in Camera Configuration.
Definition CameraConfig.h:83
std::optional< std::string > description
If specified, gives the text description of the camera.
Definition CameraConfig.h:110
std::optional< cv::Mat > extrinsicParams
If specified, gives the extrinsic parameter matrix.
Definition CameraConfig.h:97
std::string name
The name of the camera.
Definition CameraConfig.h:87
std::optional< CameraParams > intrinsicParams
If specified, gives the intrinsic parameter matrix.
Definition CameraConfig.h:92
std::variant< std::string, int > filenameOrID
Either the camera ID or the filename to stream from.
Definition CameraConfig.h:105