IDS peak ICV v1.0.0
Loading...
Searching...
No Matches
peak_icv_workspace_calibration.hpp
Go to the documentation of this file.
1
11#pragma once
12
19#include <peak_icv_c/algorithms/calibration/peak_icv_workspace_calibration.h>
20#include <utility>
21
22namespace peak
23{
24namespace icv
25{
26
27namespace experimental
28{
38{
39public:
48 WorkspaceCalibration(const IntrinsicParameters& intrinsicParameters, CalibrationPlate calibrationPlate);
49
65 PEAK_ICV_NO_DISCARD CalibrationResult Process(const Image& image) const;
66
67private:
68 IntrinsicParameters m_intrinsicParameters;
69 CalibrationPlate m_calibrationPlate;
70};
71
72inline WorkspaceCalibration::WorkspaceCalibration(const IntrinsicParameters& intrinsicParameters, CalibrationPlate calibrationPlate)
73 : m_intrinsicParameters{ intrinsicParameters }
74 , m_calibrationPlate{ std::move(calibrationPlate) }
75{}
76
78{
79 CalibrationResult calibrationResult = peak::common::detail::BackendAccessor<CalibrationResult>::CreateInstance();
80
82 return PEAK_ICV_C_ABI_PREFIX peak_icv_WorkspaceCalibration_Process(
83 peak::common::detail::BackendAccessor<CalibrationPlate>::BackendHandle(m_calibrationPlate),
84 peak::common::detail::BackendAccessor<IntrinsicParameters>::CreateCType(m_intrinsicParameters),
85 peak::common::detail::BackendAccessor<Image>::BackendHandle(image),
86 peak::common::detail::BackendAccessor<CalibrationResult>::BackendHandleAddress(calibrationResult));
87 });
88 return calibrationResult;
89}
90} /* namespace experimental */
91
92
93} /* namespace icv */
94} /* namespace peak */
For detailed information about the use of ids_peak_icv Image refer to the Image Guide.
Calibration plate representation holding the world coordinates of the reference points on a calibrati...
Class for holding the results of a camera calibration.
The intrinsic parameters contain the necessary information to use the camera calibration.
CalibrationResult Process(const Image &image) const
Applies the workspace calibration and calculates the extrinsic camera parameters based on a single vi...
WorkspaceCalibration(const IntrinsicParameters &intrinsicParameters, CalibrationPlate calibrationPlate)
Creates an instance of class WorkspaceCalibration.
void ExecuteAndMapReturnCodes(const CallableType &callableObject)