Halcon算子翻译——gen_measure_rectangle2
名称
gen_measure_rectangle2 - 准备提取垂直于矩形的直边。
用法
gen_measure_rectangle2( : : Row, Column, Phi, Length1, Length2, Width, Height, Interpolation : MeasureHandle)
描述
gen_measure_rectangle2准备提取垂直于矩形长轴的直边。 矩形的中心在(Row,Column),Phi为矩形主轴的角度,Lenth1和Lenth2为两轴的长度,即矩形两边长度的一半。
在算子measure_pos的文档中描述了边缘提取算法。 如上所述,可以使用不同类型的插值来计算一维灰度值分布。 对于Interpolation = 'nearest_neighbor',测量中的灰度值是从最接近的像素的灰度值,即通过常数插值获得的。 对于Interpolation = 'bilinear',使用双线性插值,而对于Interpolation = 'bicubic',则使用双三次插值。
要在实际测量中以最佳速度运行,所有可用于多次测量的计算都已在算子gen_measure_rectangle2中执行。 为此,在MeasureHandle中构造并返回一个优化的数据结构,即所谓的measure对象。 要在其中执行测量的图像的大小必须在参数'Width'和'Height'中指定。
系统参数“int_zooming”(见set_system)会影响用于构建measure对象的计算的准确性和速度。 如果'int_zooming'设置为'true',则内部计算使用定点算术执行,导致执行时间缩短。 但是,这种模式下的几何精度略低。 如果将“int_zooming”设置为“false”,则使用浮点运算执行内部计算,从而导致最大的几何精度,但也会显著增加执行时间。
注意
请注意,使用双线性或双三次插值时,不仅矩形的测量,而且矩形周围的边缘必须在图像中。 对于双线性插值而言,边缘的宽度(在所有四个方向上)必须至少有一个像素,对于双三次插值必须至少有两个像素。 对于不满足此条件的投影线,不计算灰度值。 因此,在这些位置上不能提取边缘。
并行
● 多线程类型:可重入(与非独占算子并行运行)。
● 多线程范围:全局(可以从任何线程调用)。
● 不并行处理。
该算子返回一个句柄。 请注意,即使将此句柄用作输入参数,该句柄类型的实例的状态也可能被特定的算子所改变。
参数
Row (input_control) rectangle2.center.y → (real / integer)
矩形中心的Row坐标。
Default value: 300.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 ≤ Row ≤ 511.0 (lin)
Minimum increment: 1.0
Recommended increment: 10.0
Column (input_control) rectangle2.center.x → (real / integer)
矩形中心的Column坐标。.
Default value: 200.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 ≤ Column ≤ 511.0 (lin)
Minimum increment: 1.0
Recommended increment: 10.0
Phi (input_control) rectangle2.angle.rad → (real / integer)
矩形的纵轴与水平的角度(弧度)。
Default value: 0.0
Suggested values: -1.178097, -0.785398, -0.392699, 0.0, 0.392699, 0.785398, 1.178097
Typical range of values: -1.178097 ≤ Phi ≤ 1.178097 (lin)
Minimum increment: 0.001
Recommended increment: 0.1
Restriction: (- pi < Phi) && (Phi <= pi)
Length1 (input_control) rectangle2.hwidth → (real / integer)
矩形的半宽。
Default value: 100.0
Suggested values: 3.0, 5.0, 10.0, 15.0, 20.0, 50.0, 100.0, 200.0, 300.0, 500.0
Typical range of values: 1.0 ≤ Length1 ≤ 511.0 (lin)
Minimum increment: 1.0
Recommended increment: 10.0
Restriction: Length1 >= 1.0
Length2 (input_control) rectangle2.hheight → (real / integer)
矩形的半高。
Default value: 20.0
Suggested values: 1.0, 2.0, 3.0, 5.0, 10.0, 15.0, 20.0, 50.0, 100.0, 200.0
Typical range of values: 0.0 ≤ Length2 ≤ 511.0 (lin)
Minimum increment: 1.0
Recommended increment: 10.0
Restriction: Length2 >= 0.0
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_rectangle2返回值2(H_MSG_TRUE)。 否则会引发异常。
Possible Predecessors
draw_rectangle2
Possible Successors
measure_pos, measure_pairs, fuzzy_measure_pos, fuzzy_measure_pairs, fuzzy_measure_pairing, measure_thresh
备选算子
edges_sub_pix
See also
gen_measure_arc
模块
1D Metrology
HDevelop例程
world_coordinates_line_scan.hdev 使用相机校准,测量线扫描图像中卡尺的间距线之间的距离
two_camera_calibration.hdev 使用特殊的校准对象执行高精度拼接
pm_measure_board.hdev 定位电路板上的IC并测量引脚距离
measure_tft_cells.hdev 测量TFT LCD显示器的RGB单元的尺寸
measure_switch.hdev 确定开关的宽度和引脚之间的距离
measure_ring.hdev 用圆形measure对象确定齿轮的宽度
measure_pin.hdev 测量IC的引脚
measure_lcd_cells.hdev 测量分隔LCD显示器单元的框架的尺寸
measure_ic_leads.hdev 测量IC的引线
measure_caliper.hdev 测量卡尺的间距线之间的距离
measure_arc.hdev 测量金属部件沿着圆弧的的宽度
gen_measure_rectangle2.hdev 测量垂直于给定线的边缘
gen_measure_arc.hdev 测量垂直于给定弧的边
fuzzy_measure_switch.hdev 用一个模糊度量对象确定一个开关引脚的宽度和距离
fuzzy_measure_pin.hdev 使用模糊测量来测量IC的引脚
fuse.hdev 测量保险丝的厚度
correct_measure_direction.hdev 自动更正测量对象的方向
camera_calibration_multi_image.hdev 校准相机并测量卡尺上的位置
camera_calibration_external.hdev 使用相机校准来测量卡尺上的位置
calibration_aimdpm_1_2006.hdev 在检查2D数据代码的打印质量之前应用反射率校准
calibrate_cameras_telecentric_tilt.hdev 使用远心倾斜镜头(Scheimpflug)校准
align_measurements_multithreading.hdev 使用多线程并行检查剃刀刀片
align_measurements.hdev 使用基于形状的匹配来检查单个剃刀刀片,以为测量工具调整ROI
3d_coordinates.hdev 测量世界坐标中的倾斜物体