halcon算子翻译——gen_measure_arc

名称

gen_measure_arc - 准备提取垂直于圆弧的直边。

用法

gen_measure_arc( : : CenterRow, CenterCol, Radius, AngleStart, AngleExtent, AnnulusRadius, Width, Height, Interpolation : MeasureHandle)

描述

  gen_measure_arc准备提取垂直于环形弧的直边。 这里,环形弧表示具有相关宽度的圆弧。 圆弧的中心在CenterRow和CenterCol,其半径为Radius,起始角度为AngleStart,AngleExtent是相对于起始角度的角度范围。 如果AngleExtent> 0,则产生逆时针方向的弧,否则产生顺时针方向的弧。 环形弧的半径,即宽度的一半由AnnulusRadius确定。

  在算子measure_pos的文档中描述了边缘提取算法。 如上所述,可以使用不同类型的插值来计算一维灰度值分布。 对于Interpolation='bilinear',测量中的灰度值是从最接近的像素的灰度值,即通过constant插值获得的。 对于Interpolation = 'bilinear',使用双线性插值,而对于Interpolation = 'bicubic',则使用双三次插值。

  要以最佳速度执行实际测量,所有可用于多次测量的计算都已在算子gen_measure_arc中执行。 为此,在MeasureHandle中构造并返回一个优化的数据结构,即所谓的measure对象。 要在其中执行测量的图像的大小必须在参数Width和Height中指定。

  系统参数“int_zooming”(见set_system)会影响用于构建measure对象的计算的准确性和速度。 如果'int_zooming'设置为'true',则内部计算使用定点算术执行,导致执行时间缩短。 但是,这种模式下的几何精度略低。 如果将“int_zooming”设置为“false”,则使用浮点运算执行内部计算,从而导致最大的几何精度,但也会显著增加执行时间。

注意

  请注意,使用双线性或双三次插值时,不仅矩形的测量,而且矩形周围的边缘必须在图像中。 对于双线性插值而言,边缘的宽度(在所有四个方向上)必须至少有一个像素,对于双三次插值必须至少有两个像素。 对于不满足此条件的投影线,不计算灰度值。 因此,在这些位置上不能提取边缘。

并行

●  多线程类型:可重入(与非独占算子并行运行)。

●  多线程范围:全局(可以从任何线程调用)。

●  不并行处理。

  该算子返回一个句柄。 请注意,即使将此句柄用作输入参数,该句柄类型的实例的状态也可能被特定的算子所改变。

参数

CenterRow (input_control)   point.y → (real / integer)
  圆弧中心的Row坐标。
  Default value: 100.0
  Suggested values: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
  Typical range of values: 0.0 ≤ CenterRow ≤ 511.0 (lin)
  Minimum increment: 1.0
  Recommended increment: 10.0


CenterCol (input_control)    point.x → (real / integer)
  圆弧中心的Column坐标。
  Default value: 100.0
  Suggested values: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
  Typical range of values: 0.0 ≤ CenterCol ≤ 511.0 (lin)
  Minimum increment: 1.0
  Recommended increment: 10.0


Radius (input_control)    number → (real / integer)
  弧的半径。
  Default value: 50.0
  Suggested values: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
  Typical range of values: 0.0 ≤ Radius ≤ 511.0 (lin)
  Minimum increment: 1.0
  Recommended increment: 10.0


AngleStart (input_control)    angle.rad → (real / integer)
  圆弧的开始角度,按弧度表示。
  Default value: 0.0
  Suggested values: -3.14159, -2.35619, -1.57080, -0.78540, 0.0, 0.78540, 1.57080, 2.35619, 3.14159
  Typical range of values: -3.14159 ≤ AngleStart ≤ 3.14159 (lin)
  Minimum increment: 0.03142
  Recommended increment: 0.31416


AngleExtent (input_control)    angle.rad → (real / integer)
  圆弧的角度范围,以弧度表示。
  Default value: 6.28318
  Suggested values: -6.28318, -5.49779, -4.71239, -3.92699, -3.14159, -2.35619, -1.57080, -0.78540, 0.78540, 1.57080, 2.35619, 3.14159, 3.92699, 4.71239, 5.49779, 6.28318
  Typical range of values: -6.28318 ≤ AngleExtent ≤ 6.28318 (lin)
  Minimum increment: 0.03142
  Recommended increment: 0.31416
  Restriction: AngleExtent != 0.0


AnnulusRadius (input_control)    number → (real / integer)
  环的半径(半宽)。
  Default value: 10.0
  Suggested values: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
  Typical range of values: 0.0 ≤ AnnulusRadius ≤ 511.0 (lin)
  Minimum increment: 1.0
  Recommended increment: 10.0
  Restriction: AnnulusRadius <= Radius


Width (input_control)    extent.x → (integer)
  要处理的图像的宽度。
  Default value: 512
  Suggested values: 128, 160, 192, 256, 320, 384, 512, 640, 768
  Typical range of values: 0 ≤ Width ≤ 1024 (lin)
  Minimum increment: 1
  Recommended increment: 16
Height (input_control)    extent.y → (integer)

  要处理的图像的高度。
  Default value: 512
  Suggested values: 120, 128, 144, 240, 256, 288, 480, 512, 576
  Typical range of values: 0 ≤ Height ≤ 1024 (lin)
  Minimum increment: 1
  Recommended increment: 16


Interpolation (input_control)    string → (string)
  要使用的插值类型。
  Default value: 'nearest_neighbor'
  List of values: 'bicubic', 'bilinear', 'nearest_neighbor'


MeasureHandle (output_control)    measure_id → (integer)
  Measure对象的句柄

结果

如果参数值正确,则运算符gen_measure_arc返回2(H_MSG_TRUE)。 否则会引发异常。

Possible Predecessors

draw_circle

Possible Successors

measure_pos, measure_pairs, fuzzy_measure_pos, fuzzy_measure_pairs, fuzzy_measure_pairing

备选算子

edges_sub_pix

See also

gen_measure_rectangle2

模块

1D Metrology

HDevelop例程

measure_ring.hdev     用圆形measure对象确定齿轮的宽度
measure_arc.hdev      测量沿着圆弧的金属部件的宽度
gen_measure_arc.hdev   测量垂直于给定弧的边

原文地址:https://www.cnblogs.com/xhiong/p/gen_measure_arc.html