Name
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure — Hinzufügen eines Kreises oder Kreisbogens zu einem Messmodell.
Herror add_metrology_object_circle_measure(const Hlong MetrologyHandle, double Row, double Column, double Radius, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const char* GenParamName, double GenParamValue, Hlong* Index)
Herror T_add_metrology_object_circle_measure(const Htuple MetrologyHandle, const Htuple Row, const Htuple Column, const Htuple Radius, const Htuple MeasureLength1, const Htuple MeasureLength2, const Htuple MeasureSigma, const Htuple MeasureThreshold, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Index)
Herror add_metrology_object_circle_measure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* Index)
Hlong HMetrologyModel::AddMetrologyObjectCircleMeasure(const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const
void AddMetrologyObjectCircleMeasure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index)
Hlong HMetrologyModel::AddMetrologyObjectCircleMeasure(const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const
Hlong HMetrologyModel::AddMetrologyObjectCircleMeasure(double Row, double Column, double Radius, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const HString& GenParamName, double GenParamValue) const
Hlong HMetrologyModel::AddMetrologyObjectCircleMeasure(double Row, double Column, double Radius, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const char* GenParamName, double GenParamValue) const
void HOperatorSetX.AddMetrologyObjectCircleMeasure(
[in] VARIANT MetrologyHandle, [in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Radius, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue, [out] VARIANT* Index)
Hlong HMetrologyModelX.AddMetrologyObjectCircleMeasure(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Radius, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)
static void HOperatorSet.AddMetrologyObjectCircleMeasure(HTuple metrologyHandle, HTuple row, HTuple column, HTuple radius, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue, out HTuple index)
int HMetrologyModel.AddMetrologyObjectCircleMeasure(HTuple row, HTuple column, HTuple radius, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue)
int HMetrologyModel.AddMetrologyObjectCircleMeasure(double row, double column, double radius, double measureLength1, double measureLength2, double measureSigma, double measureThreshold, string genParamName, double genParamValue)
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure fügt ein Metrology-Messobjekt
vom Typ Kreis oder Kreisbogen zu einem Messmodell hinzu und bereitet
die rechteckigen Messregionen vor (siehe create_metrology_modelcreate_metrology_modelCreateMetrologyModelcreate_metrology_modelCreateMetrologyModelCreateMetrologyModel
für das Grundprinzip der 2D-Messtechnik). Das Handle des Messmodells
muss in MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandle übergeben werden.
Die genäherte geometrische Form des Metrology-Messobjekts vom Typ
Kreis wird durch seinen Mittelpunkt (RowRowRowRowRowrow, ColumnColumnColumnColumnColumncolumn)
und den RadiusRadiusRadiusRadiusRadiusradius beschrieben. Die Messregionen liegen
senkrecht zum Kreisrand. Die halben Kantenlängen der
Messregionen senkrecht und tangential zum Kreis werden jeweils in
MeasureLength1MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1 und in MeasureLength2MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2 gesetzt.
Die Mittelpunkte der Messregionen liegen auf dem Rand des Kreises.
Der Parameter MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigma legt eine Standardabweichung
für die Glättung der Grauwerte im Bild durch den Operator
apply_metrology_modelapply_metrology_modelApplyMetrologyModelapply_metrology_modelApplyMetrologyModelApplyMetrologyModel fest. Auffällige Kanten können mit
dem Parameter MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThreshold, der einen Schwellwert für
die Kantenamplitude, d.h. den Absolutbetrag der ersten Ableitung,
angibt, selektiert werden. Der Operator
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure gibt den Index des
hinzugefügten Metrology-Messobjekts in dem Parameter
IndexIndexIndexIndexIndexindex zurück.
Desweiteren können in GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
generische Parameter angepasst werden. Die folgenden generischen
Parameter GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName und die dazugehörigen Werte
GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue zur Festlegung eines Kreisbogens sind verfügbar:
- 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi":
-
Der Parameter legt den Anfangswinkel
des Kreisbogens fest. Um einen geschlossenen Kreis
zu erhalten, müssen der Wert des Parameters 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi"
auf 0 und der Wert des Parameters 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi"
auf 2*PI gesetzt sein (bei positivem Umlaufsinn).
Die Eingabewerte werden automatisch auf das Intervall
[0,2*PI] abgebildet.
Wertevorschläge: 0.0, 0.78,
6.28318
Defaultwert: 0.0
- 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi":
-
Der Parameter legt den Endwinkel
des Kreisbogens fest. Um einen geschlossenen Kreis
zu erhalten, müssen der Wert des Parameters 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi"
auf 0 und der Wert des Parameters 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi"
auf 2*PI gesetzt sein (bei positivem Umlaufsinn).
Die Eingabewerte werden automatisch auf das Intervall
[0,2*PI] abgebildet.
Wertevorschläge: 0.0, 0.78,
6.28318
Defaultwert: 6.28318
- 'point_order'"point_order""point_order""point_order""point_order""point_order":
-
Der Parameter legt die Richtung
des Kreisbogens fest. Wird der Wert auf 'positive'"positive""positive""positive""positive""positive" gesetzt,
ist der Kreisbogen zwischen 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" und
'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" im mathematisch positiven Sinn
(gegen den Uhrzeigersinn) definiert. Wird der Wert auf
'negative'"negative""negative""negative""negative""negative" gesetzt, ist der Kreisbogen zwischen
'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" und 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" im mathematisch
negativen Sinn (im Uhrzeigersinn) definiert.
Wertevorschläge: 'positive'"positive""positive""positive""positive""positive", 'negative'"negative""negative""negative""negative""negative"
Defaultwert: 'positive'"positive""positive""positive""positive""positive"
Weitere generische Parameter sind alle generischen Parameter, die im
Operator set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParam zur Verfügung stehen.
In den meisten Fällen reichen die Standardwerte aus, so dass keine
Anpassung nötig ist.
Ein Messmodell 'MetrologyHandle'"MetrologyHandle""MetrologyHandle""MetrologyHandle""MetrologyHandle""MetrologyHandle" kann nur von einem Thread aus
verwendet werden. Verschiedene Messmodelle können dagegen in
unterschiedlichen Threads genutzt werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
RowRowRowRowRowrow (input_control) circle.center.y(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Zeilenkoordinate des Mittelpunkts des Kreises oder
des Kreisbogens.
Spaltenkoordinate des Mittelpunkts des Kreises oder
des Kreisbogens.
Radius des Kreises oder Kreisbogens.
Halbe Länge der Messregionen senkrecht zum Rand.
Defaultwert: 20.0
Wertevorschläge: 10.0, 20.0, 30.0
Typischer Wertebereich: 1.0
≤
MeasureLength1
MeasureLength1
MeasureLength1
MeasureLength1
MeasureLength1
measureLength1
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Restriktion: MeasureLength1 < Radius
Halbe Länge der Messregionen tangential zum Rand.
Defaultwert: 5.0
Wertevorschläge: 3.0, 5.0, 10.0
Typischer Wertebereich: 1.0
≤
MeasureLength2
MeasureLength2
MeasureLength2
MeasureLength2
MeasureLength2
measureLength2
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Sigma der Gaußfunktion für die Glättung.
Defaultwert: 1.0
Wertevorschläge: 0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0
Typischer Wertebereich: 0.4
≤
MeasureSigma
MeasureSigma
MeasureSigma
MeasureSigma
MeasureSigma
measureSigma
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: 0.4 <= MeasureSigma && MeasureSigma <= 100
Minimale Amplitude einer Kante.
Defaultwert: 30.0
Wertevorschläge: 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 90.0, 110.0
Typischer Wertebereich: 1
≤
MeasureThreshold
MeasureThreshold
MeasureThreshold
MeasureThreshold
MeasureThreshold
measureThreshold
≤
255 (lin)
Minimale Schrittweite: 0.5
Empfohlene Schrittweite: 2
Namen der generischen Parameter.
Defaultwert: []
Werteliste: 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi", 'instances_outside_measure_regions'"instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions", 'measure_distance'"measure_distance""measure_distance""measure_distance""measure_distance""measure_distance", 'measure_interpolation'"measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation", 'measure_select'"measure_select""measure_select""measure_select""measure_select""measure_select", 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition""measure_transition", 'min_score'"min_score""min_score""min_score""min_score""min_score", 'num_instances'"num_instances""num_instances""num_instances""num_instances""num_instances", 'num_measures'"num_measures""num_measures""num_measures""num_measures""num_measures", 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed", 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi", 'world_pose'"world_pose""world_pose""world_pose""world_pose""world_pose"
Werte der generischen Parameter.
Defaultwert: []
Wertevorschläge: 1, 2, 3, 4, 5, 10, 20, 'all'"all""all""all""all""all", 'true'"true""true""true""true""true", 'false'"false""false""false""false""false", 'first'"first""first""first""first""first", 'last'"last""last""last""last""last", 'positive'"positive""positive""positive""positive""positive", 'negative'"negative""negative""negative""negative""negative", 'uniform'"uniform""uniform""uniform""uniform""uniform", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor", 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'bicubic'"bicubic""bicubic""bicubic""bicubic""bicubic"
Index des erstellten Metrology-Messobjekts.
read_image (Image, 'rings_and_nuts')
create_metrology_model (MetrologyHandle)
get_image_size (Image, Width, Height)
set_metrology_model_image_size (MetrologyHandle, Width, Height)
add_metrology_object_circle_measure (MetrologyHandle, 120, 130, 35, 10, 2, \
1, 30, ['measure_distance'], [40], Index)
apply_metrology_model (Image, MetrologyHandle)
get_metrology_object_result (MetrologyHandle, Index, 'all', 'result_type', \
'param', Circle)
gen_circle_contour_xld (ContCircle, Circle[0], Circle[1], Circle[2], 0, \
6.28318, 'positive', 1)
clear_metrology_model (MetrologyHandle)
Sind die Parameterwerte korrekt, dann liefert
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure den Wert 2 (H_MSG_TRUE).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
set_metrology_model_image_sizeset_metrology_model_image_sizeSetMetrologyModelImageSizeset_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSize
apply_metrology_modelapply_metrology_modelApplyMetrologyModelapply_metrology_modelApplyMetrologyModelApplyMetrologyModel,
copy_metrology_objectcopy_metrology_objectCopyMetrologyObjectcopy_metrology_objectCopyMetrologyObjectCopyMetrologyObject
gen_circle_contour_xldgen_circle_contour_xldGenCircleContourXldgen_circle_contour_xldGenCircleContourXldGenCircleContourXld,
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure,
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasure,
add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure
2D Metrology