add_metrology_object_circle_measure添加计量对象圆测量T_add_metrology_object_circle_measure添加计量对象圆测量AddMetrologyObjectCircleMeasure添加计量对象圆测量AddMetrologyObjectCircleMeasure添加计量对象圆测量add_metrology_object_circle_measure添加计量对象圆测量 (算子)

名称

add_metrology_object_circle_measure添加计量对象圆测量T_add_metrology_object_circle_measure添加计量对象圆测量AddMetrologyObjectCircleMeasure添加计量对象圆测量AddMetrologyObjectCircleMeasure添加计量对象圆测量add_metrology_object_circle_measure添加计量对象圆测量 — 将圆或圆弧添加到计量模型中。

签名

add_metrology_object_circle_measure( : : MetrologyHandle, Row, Column, Radius, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue : 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)

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)

def add_metrology_object_circle_measure(metrology_handle: HHandle, row: MaybeSequence[Union[int, float]], column: MaybeSequence[Union[int, float]], radius: MaybeSequence[Union[int, float]], measure_length_1: Union[int, float], measure_length_2: Union[int, float], measure_sigma: Union[int, float], measure_threshold: Union[int, float], gen_param_name: Sequence[str], gen_param_value: Sequence[Union[float, int, str]]) -> int

描述

add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measure 向计量模型添加圆或圆弧类型的计量对象,并准备矩形测量区域。模型的句柄通过 MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle 传递。

有关二维计量概念的说明,请参阅 二维计量 一章的引言。

圆类型的计量对象的几何形状由其中心点 (RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn) 和 RadiusRadiusRadiusRadiusradiusradius 定义。矩形测量区域与圆周边界垂直。测量区域的半边长分别通过 MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1measure_length_1MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2measure_length_2 设定。测量区域的中心点位于圆周边界上。参数 MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigmameasure_sigma 指定用于平滑图像灰度的标准差,该值由 apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model 算子采用。通过 MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThresholdmeasure_threshold 参数可选取显著边缘,该参数构成对幅度(即边缘一阶导数的绝对值)的阈值。add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measure 算子将返回参数 IndexIndexIndexIndexindexindex 中添加的计量对象索引值。

此外,您还可以使用 GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_nameGenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value 调整某些通用参数。GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_nameGenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value 可用值如下:

'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi"

该参数指定圆弧起始点的角度。要创建闭合圆,需将参数 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" 的值设为 0 ,并将参数 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" 设置为 (采用正点顺序)。输入值将自动映射到区间

值列表: 0.0, 0.78, 6.28318

默认值: 0.0

'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi"

该参数指定圆弧终点的角度。要创建闭合圆,需将参数 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" 的值设为 0 ,并将参数 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" 的值设为 (采用正点顺序)。输入值将在内部自动映射到区间

值列表: 0.0, 0.78, 6.28318

默认值: 6.28318

'point_order'"point_order""point_order""point_order""point_order""point_order"

该参数指定圆弧的方向。当取值为 'positive'"positive""positive""positive""positive""positive" 时,圆弧在数学正方向(逆时针)上定义于 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi"'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" 之间。当取值为 'negative'"negative""negative""negative""negative""negative" 时,圆弧在数学负方向(顺时针)上定义于 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi"'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" 之间。

值列表: 'positive'"positive""positive""positive""positive""positive", 'negative'"negative""negative""negative""negative""negative"

默认值: 'positive'"positive""positive""positive""positive""positive"

此外,所有可用于算子 set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param 的通用参数均可设置。但请注意,对于许多应用而言,默认值已足够使用,无需进行调整。

执行信息

此算子修改后续输入参数的状态:

在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。

参数

MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle (输入控制,状态被修改)  metrology_model HMetrologyModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

计量模型的句柄。

RowRowRowRowrowrow (输入控制)  circle.center.y(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

圆或圆弧中心的行坐标(或 Y 坐标)。

ColumnColumnColumnColumncolumncolumn (输入控制)  circle.center.x(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

圆或圆弧中心的列坐标(或 X 坐标)。

RadiusRadiusRadiusRadiusradiusradius (输入控制)  circle.radius(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

圆或圆弧的半径。

MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1measure_length_1 (输入控制)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

与边界垂直的测量区域长度的一半。

默认值: 20.0

建议值: 10.0, 20.0, 30.0

值范围: 1.0 ≤ MeasureLength1 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1 measure_length_1

最小增量: 1.0

建议增量: 10.0

限制: MeasureLength1 < Radius

MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2measure_length_2 (输入控制)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

与边界相切的测量区域长度的一半。

默认值: 5.0

建议值: 3.0, 5.0, 10.0

值范围: 1.0 ≤ MeasureLength2 MeasureLength2 MeasureLength2 MeasureLength2 measureLength2 measure_length_2

最小增量: 1.0

建议增量: 10.0

MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigmameasure_sigma (输入控制)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

高斯函数的平滑西格玛(sigma)值。

默认值: 1.0

建议值: 0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0

值范围: 0.4 ≤ MeasureSigma MeasureSigma MeasureSigma MeasureSigma measureSigma measure_sigma ≤ 100.0

最小增量: 0.01

建议增量: 0.1

MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThresholdmeasure_threshold (输入控制)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

最小边缘振幅。

默认值: 30.0

建议值: 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 90.0, 110.0

值范围: 1 ≤ MeasureThreshold MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold measure_threshold ≤ 255 (lin)

最小增量: 0.5

建议增量: 2

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (输入控制)  attribute.name-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

通用参数的名称。

默认值: []

值列表: 'distance_threshold'"distance_threshold""distance_threshold""distance_threshold""distance_threshold""distance_threshold", '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", 'max_num_iterations'"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_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", 'point_order'"point_order""point_order""point_order""point_order""point_order", 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed", 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (输入控制)  attribute.value-array HTupleSequence[Union[float, int, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

通用参数的值。

默认值: []

建议值: 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"

IndexIndexIndexIndexindexindex (输出控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

创建的计量对象索引。

示例(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)

结果

如果参数有效,算子 add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measure 返回值 2 ( H_MSG_TRUE) 。如有必要,则抛出异常。

可能的前趋

set_metrology_model_image_sizeset_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeset_metrology_model_image_size

可能的后继

align_metrology_modelalign_metrology_modelAlignMetrologyModelAlignMetrologyModelAlignMetrologyModelalign_metrology_model, apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model

替代

add_metrology_object_genericadd_metrology_object_genericAddMetrologyObjectGenericAddMetrologyObjectGenericAddMetrologyObjectGenericadd_metrology_object_generic

另见

get_metrology_object_model_contourget_metrology_object_model_contourGetMetrologyObjectModelContourGetMetrologyObjectModelContourGetMetrologyObjectModelContourget_metrology_object_model_contour, set_metrology_model_paramset_metrology_model_paramSetMetrologyModelParamSetMetrologyModelParamSetMetrologyModelParamset_metrology_model_param, add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure, add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure, add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measure

模块

二维计量