IDS peak ICV v1.1.0
Loading...
Searching...
No Matches
peak_icv_workspace_calibration.hpp
Go to the documentation of this file.
1
11#pragma once
12
13#include <peak_common_c/detail/peak_common_defines.h>
19#include <peak_icv_c/algorithms/calibration/peak_icv_workspace_calibration.h>
20#include <utility>
21
22namespace peak
23{
24namespace icv
25{
26
53{
54public:
66 WorkspaceCalibration(const IntrinsicParameters& intrinsicParameters, CalibrationPlate calibrationPlate);
67
94 PEAK_COMMON_NO_DISCARD CalibrationResult Process(const Image& image) const;
95
96private:
97 IntrinsicParameters m_intrinsicParameters;
98 CalibrationPlate m_calibrationPlate;
99};
100
101inline WorkspaceCalibration::WorkspaceCalibration(const IntrinsicParameters& intrinsicParameters, CalibrationPlate calibrationPlate)
102 : m_intrinsicParameters{ intrinsicParameters }
103 , m_calibrationPlate{ std::move(calibrationPlate) }
104{}
105
107{
108 CalibrationResult calibrationResult = peak::common::detail::BackendAccessor<CalibrationResult>::CreateInstance();
109 const auto intrinsicParametersC = peak::common::detail::BackendAccessor<IntrinsicParameters>::CreateCType(m_intrinsicParameters);
111 return PEAK_ICV_C_ABI_PREFIX peak_icv_WorkspaceCalibration_Process(
112 peak::common::detail::BackendAccessor<CalibrationPlate>::BackendHandle(m_calibrationPlate), intrinsicParametersC,
113 sizeof(peak_icv_intrinsic_parameters), peak::common::detail::BackendAccessor<Image>::BackendHandle(image),
114 peak::common::detail::BackendAccessor<CalibrationResult>::BackendHandleAddress(calibrationResult));
115 });
116 return calibrationResult;
117}
118
119} /* namespace icv */
120} /* namespace peak */
Calibration plate representation holding the world coordinates of the reference points on a calibrati...
Holds the results of a camera calibration.
For detailed information about the use of ids_peak_icv Image refer to the Image Guide.
The intrinsic parameters contain the necessary information to use the camera calibration.
Performs a workspace calibration to determine the position and orientation of a camera relative to a ...
CalibrationResult Process(const Image &image) const
Calculates the camera's extrinsic parameters from a single image of a calibration plate.
WorkspaceCalibration(const IntrinsicParameters &intrinsicParameters, CalibrationPlate calibrationPlate)
Constructs a WorkspaceCalibration using the given intrinsic parameters and the specified calibration ...
void ExecuteAndMapReturnCodes(const CallableType &callableObject)