CVB++ 15.0
metric_laser_line_extraction.hpp
1#pragma once
2
3#include "../_cexports/c_metric.h"
4
5#include "../image.hpp"
6#include "cvb/block.hpp"
7
8namespace Cvb
9{
10CVB_BEGIN_INLINE_NS
11
12namespace Foundation
13{
14namespace Metric
15{
17namespace LaserLineExtraction
18{
21{
23 ArgMax = 1,
25 CoG
26};
27
29enum class FIRFilter
30{
32 None = 1,
34 Mean
35};
36
43{
46
49
52
55};
56
59
90void ExtractLaserLineFromImage(const Image& monoImage, LineExtractionParameters parameters, int lineOut, Image& rangeMap)
91{
92 Internal::DoResCall([&]()
93 {
94 return CVB_CALL_CAPI(
95 CVMExtractLaserLineFromMonoImage(monoImage.Handle(),
96 *reinterpret_cast<CExports::CVMLineExtractionParameters*>(&parameters), lineOut,
97 rangeMap.Handle(), nullptr));
98 });
99}
100
103
140void ExtractLaserLineFromImage(const Image& monoImage, LineExtractionParameters parameters, int lineOut, Image& rangeMap, Image& intensityImage)
141{
142 Internal::DoResCall([&]()
143 {
144 return CVB_CALL_CAPI(
145 CVMExtractLaserLineFromMonoImage(monoImage.Handle(),
146 *reinterpret_cast<CExports::CVMLineExtractionParameters*>(&parameters), lineOut,
147 rangeMap.Handle(), intensityImage.Handle()));
148 });
149}
150} /* namespace LaserLineExtraction */
151} /* namespace Metric */
152} /* namespace Foundation */
153CVB_END_INLINE_NS
154} /* namespace Cvb */
The Common Vision Blox image.
Definition: decl_image.hpp:45
void * Handle() const noexcept
Classic API image handle.
Definition: decl_image.hpp:226
PeakLocalizationMethod
Peak location parameters.
Definition: metric_laser_line_extraction.hpp:21
@ ArgMax
The center peak is set to the highest value in a given set.
@ CoG
Estimation of the center peak with center of gravity (CoG).
void ExtractLaserLineFromImage(const Image &monoImage, LineExtractionParameters parameters, int lineOut, Image &rangeMap)
Extracts the laser line from given monoImage and stores it to lineOut of the previously allocated ran...
Definition: metric_laser_line_extraction.hpp:90
FIRFilter
Filter parameters.
Definition: metric_laser_line_extraction.hpp:30
Root namespace for the Image Manager interface.
Definition: c_barcode.h:24
All necessary parameters for laser line extraction.
Definition: metric_laser_line_extraction.hpp:43
int WindowSize
Size of window used for filtering and peak detection.
Definition: metric_laser_line_extraction.hpp:54
PeakLocalizationMethod PeakType
Type of peak detection.
Definition: metric_laser_line_extraction.hpp:45
double ThresholdPeakDetection
Threshold for peak detection (not considered yet).
Definition: metric_laser_line_extraction.hpp:48
FIRFilter FilterType
Filtering method.
Definition: metric_laser_line_extraction.hpp:51