add_metrology_object_circle_measure T_add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure (Operator)
Name
add_metrology_object_circle_measure T_add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure
— Hinzufügen eines Kreises oder Kreisbogens zu einem Messmodell.
Signatur
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 )
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 HTuple& GenParamName , const HTuple& GenParamValue ) const
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 , HTuple genParamName , HTuple genParamValue )
Beschreibung
add_metrology_object_circle_measure add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure
fügt ein Metrology-Messobjekt
vom Typ Kreis oder Kreisbogen zu einem Messmodell hinzu und bereitet
die rechteckigen Messregionen vor. Das Handle des Messmodells
muss in MetrologyHandle MetrologyHandle MetrologyHandle MetrologyHandle metrologyHandle
übergeben werden.
Das Konzept der 2D-Messtechnik ist bei der Einleitung zu Kapitel
2D-Messtechnik beschrieben.
Die genäherte geometrische Form des Metrology-Messobjekts vom Typ
Kreis wird durch seinen Mittelpunkt (Row Row Row Row row
, Column Column Column Column column
)
und den Radius Radius Radius Radius radius
beschrieben. Die Messregionen liegen
senkrecht zum Kreisrand. Die halben Kantenlängen der
Messregionen senkrecht und tangential zum Kreis werden jeweils in
MeasureLength1 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1
und in MeasureLength2 MeasureLength2 MeasureLength2 MeasureLength2 measureLength2
gesetzt.
Die Mittelpunkte der Messregionen liegen auf dem Rand des Kreises.
Der Parameter MeasureSigma MeasureSigma MeasureSigma MeasureSigma measureSigma
legt eine Standardabweichung
für die Glättung der Grauwerte im Bild durch den Operator
apply_metrology_model apply_metrology_model ApplyMetrologyModel ApplyMetrologyModel ApplyMetrologyModel
fest. Auffällige Kanten können mit
dem Parameter MeasureThreshold MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold
, der einen Schwellwert für
die Kantenamplitude, d.h. den Absolutbetrag der ersten Ableitung,
angibt, selektiert werden. Der Operator
add_metrology_object_circle_measure add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure
gibt den Index des
hinzugefügten Metrology-Messobjekts in dem Parameter
Index Index Index Index index
zurück.
Desweiteren können in GenParamName GenParamName GenParamName GenParamName genParamName
und GenParamValue GenParamValue GenParamValue GenParamValue genParamValue
generische Parameter angepasst werden. Die folgenden generischen
Parameter GenParamName GenParamName GenParamName GenParamName genParamName
und die dazugehörigen Werte
GenParamValue GenParamValue GenParamValue GenParamValue genParamValue
zur Festlegung eines Kreisbogens sind verfügbar:
'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"
auf 0 und der Wert des Parameters 'end_phi' "end_phi" "end_phi" "end_phi" "end_phi"
auf
gesetzt sein (bei positivem Umlaufsinn).
Die Eingabewerte werden automatisch auf das Intervall
abgebildet.
Wertevorschläge: 0.0 , 0.78 ,
6.28318
Defaultwert: 0.0
'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"
auf 0 und der Wert des Parameters 'end_phi' "end_phi" "end_phi" "end_phi" "end_phi"
auf
gesetzt sein (bei positivem Umlaufsinn).
Die Eingabewerte werden automatisch auf das Intervall
abgebildet.
Wertevorschläge: 0.0 , 0.78 ,
6.28318
Defaultwert: 6.28318
'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" gesetzt,
ist der Kreisbogen zwischen 'start_phi' "start_phi" "start_phi" "start_phi" "start_phi" und
'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" gesetzt, ist der Kreisbogen zwischen
'start_phi' "start_phi" "start_phi" "start_phi" "start_phi" und 'end_phi' "end_phi" "end_phi" "end_phi" "end_phi" im mathematisch
negativen Sinn (im Uhrzeigersinn) definiert.
Wertevorschläge: 'positive' "positive" "positive" "positive" "positive" , 'negative' "negative" "negative" "negative" "negative"
Defaultwert: 'positive' "positive" "positive" "positive" "positive"
Weitere generische Parameter sind alle generischen Parameter, die im
Operator set_metrology_object_param set_metrology_object_param SetMetrologyObjectParam SetMetrologyObjectParam SetMetrologyObjectParam
zur Verfügung stehen.
In den meisten Fällen reichen die Standardwerte aus, so dass keine
Anpassung nötig ist.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
Parameter
MetrologyHandle MetrologyHandle MetrologyHandle MetrologyHandle metrologyHandle
(input_control, Zustand wird modifiziert) metrology_model →
HMetrologyModel , HTuple HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle des Messmodells.
Row Row Row Row row
(input_control) circle.center.y(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des Mittelpunkts des Kreises oder
des Kreisbogens.
Column Column Column Column column
(input_control) circle.center.x(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des Mittelpunkts des Kreises oder
des Kreisbogens.
Radius Radius Radius Radius radius
(input_control) circle.radius(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Radius des Kreises oder Kreisbogens.
MeasureLength1 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1
(input_control) number →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
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
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Restriktion: MeasureLength1 < Radius
MeasureLength2 MeasureLength2 MeasureLength2 MeasureLength2 measureLength2
(input_control) number →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
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
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
MeasureSigma MeasureSigma MeasureSigma MeasureSigma measureSigma
(input_control) number →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
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
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: 0.4 <= MeasureSigma && MeasureSigma <= 100
MeasureThreshold MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold
(input_control) number →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
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
≤
255
(lin)
Minimale Schrittweite: 0.5
Empfohlene Schrittweite: 2
GenParamName GenParamName GenParamName GenParamName genParamName
(input_control) attribute.name-array →
HTuple HTuple Htuple (string) (string ) (HString ) (char* )
Namen der generischen Parameter.
Defaultwert: []
Werteliste: 'distance_threshold' "distance_threshold" "distance_threshold" "distance_threshold" "distance_threshold" , '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" , 'max_num_iterations' "max_num_iterations" "max_num_iterations" "max_num_iterations" "max_num_iterations" , 'measure_distance' "measure_distance" "measure_distance" "measure_distance" "measure_distance" , 'measure_interpolation' "measure_interpolation" "measure_interpolation" "measure_interpolation" "measure_interpolation" , 'measure_select' "measure_select" "measure_select" "measure_select" "measure_select" , 'measure_transition' "measure_transition" "measure_transition" "measure_transition" "measure_transition" , 'min_score' "min_score" "min_score" "min_score" "min_score" , 'num_instances' "num_instances" "num_instances" "num_instances" "num_instances" , 'num_measures' "num_measures" "num_measures" "num_measures" "num_measures" , 'point_order' "point_order" "point_order" "point_order" "point_order" , 'rand_seed' "rand_seed" "rand_seed" "rand_seed" "rand_seed" , 'start_phi' "start_phi" "start_phi" "start_phi" "start_phi"
GenParamValue GenParamValue GenParamValue GenParamValue genParamValue
(input_control) attribute.value-array →
HTuple HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Werte der generischen Parameter.
Defaultwert: []
Wertevorschläge: 1, 2, 3, 4, 5, 10, 20, 'all' "all" "all" "all" "all" , 'true' "true" "true" "true" "true" , 'false' "false" "false" "false" "false" , 'first' "first" "first" "first" "first" , 'last' "last" "last" "last" "last" , 'positive' "positive" "positive" "positive" "positive" , 'negative' "negative" "negative" "negative" "negative" , 'uniform' "uniform" "uniform" "uniform" "uniform" , 'nearest_neighbor' "nearest_neighbor" "nearest_neighbor" "nearest_neighbor" "nearest_neighbor" , 'bilinear' "bilinear" "bilinear" "bilinear" "bilinear" , 'bicubic' "bicubic" "bicubic" "bicubic" "bicubic"
Index Index Index Index index
(output_control) integer →
HTuple HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Index des erstellten Metrology-Messobjekts.
Beispiel (HDevelop)
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', \
'all_param', Circle)
get_metrology_object_result_contour (Contour, MetrologyHandle, Index, \
'all', 1.5)
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
add_metrology_object_circle_measure add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure
den Wert 2 (H_MSG_TRUE).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
set_metrology_model_image_size set_metrology_model_image_size SetMetrologyModelImageSize SetMetrologyModelImageSize SetMetrologyModelImageSize
Nachfolger
align_metrology_model align_metrology_model AlignMetrologyModel AlignMetrologyModel AlignMetrologyModel
,
apply_metrology_model apply_metrology_model ApplyMetrologyModel ApplyMetrologyModel ApplyMetrologyModel
Alternativen
add_metrology_object_generic add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric AddMetrologyObjectGeneric
Siehe auch
get_metrology_object_model_contour get_metrology_object_model_contour GetMetrologyObjectModelContour GetMetrologyObjectModelContour GetMetrologyObjectModelContour
,
set_metrology_model_param set_metrology_model_param SetMetrologyModelParam SetMetrologyModelParam SetMetrologyModelParam
,
add_metrology_object_ellipse_measure add_metrology_object_ellipse_measure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure
,
add_metrology_object_line_measure add_metrology_object_line_measure AddMetrologyObjectLineMeasure AddMetrologyObjectLineMeasure AddMetrologyObjectLineMeasure
,
add_metrology_object_rectangle2_measure add_metrology_object_rectangle2_measure AddMetrologyObjectRectangle2Measure AddMetrologyObjectRectangle2Measure AddMetrologyObjectRectangle2Measure
Modul
2D Metrology