45#ifndef UFO_VISION_CAMERA_PERSPECTIVE_INTRINSICS_HPP
46#define UFO_VISION_CAMERA_PERSPECTIVE_INTRINSICS_HPP
131 [[nodiscard]]
constexpr float aspect() const noexcept
133 return static_cast<float>(
cols) /
static_cast<float>(
rows);
148 os <<
"Rows: " << intrinsics.
rows <<
", Cols: " << intrinsics.
cols
149 <<
"\nVertical FoV: " << intrinsics.
vertical_fov <<
"\ncx: " << intrinsics.
cx
150 <<
", cy: " << intrinsics.
cy <<
"\nfx: " << intrinsics.
fx
151 <<
", fy: " << intrinsics.
fy <<
"\nZoom: " << intrinsics.
zoom
154 <<
"\nDeterministic: " << (intrinsics.
deterministic ?
"true" :
"false");
164struct std::formatter<
ufo::PerspectiveIntrinsics> {
165 constexpr auto parse(std::format_parse_context& ctx)
const {
return ctx.begin(); }
168 std::format_context& ctx)
const
170 return std::format_to(
172 "Rows: {}, Cols: {}\nVertical FoV: {}\ncx: {}, cy: {}\nfx: {}, fy: "
173 "{}\nZoom: {}\nFocus distance: {}, Lens radius: {}\nDeterministic: {}",
175 intrinsics.
cy, intrinsics.
fx, intrinsics.
fy, intrinsics.
zoom,
All vision-related classes and functions.
Stores the intrinsic parameters of a perspective camera.
float fy
Vertical focal length in pixels.
float focus_distance
Distance to the focal plane.
float cy
Vertical principal point in pixels.
float fx
Horizontal focal length in pixels.
float vertical_fov
Vertical field of view in radians.
bool deterministic
Whether ray generation should be deterministic.
float cx
Horizontal principal point in pixels.
std::size_t rows
Image height in pixels.
std::size_t cols
Image width in pixels.
float lens_radius
Radius of the camera lens.
friend bool operator==(PerspectiveIntrinsics const &, PerspectiveIntrinsics const &) noexcept=default
Memberwise equality comparison.
constexpr float aspect() const noexcept
Computes the aspect ratio (cols / rows).