算子 get_contour_attrib_xld - 返回 XLD 轮廓的点属性值
get_contour_attrib_xld
名称
get_contour_attrib_xld — 返回 XLD 轮廓的点属性值。
签名
get_contour_attrib_xld(Contour : : Name : Attrib)
描述
get_contour_attrib_xld 算子将 XLD 轮廓 Contour 中属性 Name 的值返回到 Attrib 中。轮廓点属性是为每个轮廓点定义的附加值,用于描述局部特征。可以使用 query_contour_attribs_xld 算子查询特定轮廓设置了哪些属性。
以下列表包含了关于不同轮廓点属性的信息,以及将这些属性添加到 XLD 轮廓的算子(特殊情况请参阅相应的算子参考文档):
-
'angle':轮廓法向量的方向由'angle'(单位:弧度)描述(见下图)。当从轮廓的起点到终点遍历轮廓时,法向量指向轮廓的右侧(角度是相对于图像的行轴按逆时针方向定义的)。 添加'angle'属性的算子如下:edges_color_sub_pix、edges_sub_pix、lines_color、lines_facet、lines_gauss。 -
'response':'response'包含边缘梯度的幅值(见下图)。 添加'response'属性的算子如下:edges_color_sub_pix、edges_sub_pix、lines_color、lines_facet、lines_gauss。 -
'width_right':线条右侧的线宽(当从起点到终点遍历轮廓时)由'width_right'(单位:像素)描述(见下图)。 添加'width_right'属性的算子如下:lines_color、lines_gauss。 -
'width_left':线条左侧的线宽(当从起点到终点遍历轮廓时)由'width_left'(单位:像素)描述(见下图)。 添加'width_left'属性的算子如下:lines_color、lines_gauss。
轮廓(红色)不同点属性的可视化。轮廓的起点用白色十字标记。(1) 向量(黄色),按照 'angle' 绘制(相对于行轴),表示轮廓每个点的法向量;(2) 沿轮廓的 'response' 属性的变化情况;(3) 计算得到的属性 'width_right'(黄色)和 'width_left'(绿色)的可视化。
-
'edge_direction':给出边缘的方向(不是 XLD 轮廓的方向),通过图像在行和列方向上的梯度计算得到。角度是相对于图像的列轴给出的。 添加'edge_direction'(单位:弧度)属性的算子如下:edges_color_sub_pix、edges_sub_pix。
为轮廓(红色)的每个点按
'edge_direction'绘制的向量(黄色)。 -
'asymmetry':轮廓属性'asymmetry'描述了边缘两侧的图像梯度。如果不对称部分,即梯度较弱的部分,在线条的右侧,则该属性为正;如果不对称部分在线条的左侧,则该属性为负(见下图)。 添加'asymmetry'属性的算子如下:lines_gauss。 -
'contrast':轮廓的对比度描述了线条的灰度值与局部背景灰度值之间的差异。如果提取的是亮线条,则该属性为正;如果是暗线条,则该属性为负(见下图)。 添加'contrast'属性的算子如下:lines_gauss。
沿图像结构的轮廓的属性 (1) 'asymmetry' 和 (2) 'contrast' 的变化情况(轮廓的起点用白色十字标记)。
-
'distance':对于一个轮廓的所有点,到参考轮廓的任意点或线段的最小距离(取决于计算时选择的模式)由属性'distance'(单位:像素)给出。 添加'distance'属性的算子如下:apply_distance_transform_xld、distance_contours_xld。
(1) 轮廓(红色)到参考轮廓(绿色)的点的 'distance';(2) 到参考轮廓(绿色)的任意线段的 'distance'。
有关全局轮廓属性的信息,请参阅 get_contour_global_attrib_xld 算子的参考文档。
参数
-
Contour(输入对象)-
类型:XLD 轮廓对象
-
描述:待查询属性的输入轮廓。
-
-
Name(输入控制)-
类型:字符串
-
默认值:
'angle' -
可选值:
属性名 含义 生成该属性的算子 'angle'轮廓法线方向角度(弧度,相对于图像行轴,逆时针方向) edges_sub_pix,lines_gauss'response'边缘梯度幅值(边缘强度) edges_sub_pix,lines_gauss'width_right'轮廓右侧线宽(像素,沿轮廓起点到终点方向右侧) lines_gauss,lines_color'width_left'轮廓左侧线宽(像素,沿轮廓起点到终点方向左侧) lines_gauss,lines_color'edge_direction'边缘方向(弧度,相对于图像列轴,由图像梯度计算) edges_sub_pix'asymmetry'边缘不对称性(正值表示弱梯度在右侧,负值在左侧) lines_gauss'contrast'对比度(正值表示亮线,负值表示暗线) lines_gauss'distance'到参考轮廓的最小距离(像素,需通过 distance_contours_xld预先计算)distance_contours_xld,apply_distance_transform_xld
-
-
Attrib(输出控制)-
类型:实数数组
-
描述:轮廓每个点对应的属性值,长度与轮廓点数相同。
-
可能的前置算子
lines_gauss、lines_facet、edges_sub_pix、distance_contours_xld、apply_distance_transform_xld
相关算子
query_contour_attribs_xld、get_contour_global_attrib_xld、query_contour_global_attribs_xld
HDevelop 例程
-
measure_circuit_width_lines_gauss.hdev:测量印刷电路板(PCB)线路的宽度。 -
lines_gauss.hdev:提取线条及其宽度。 -
lines_color.hdev:使用颜色信息提取线条。 -
inspect_frame_width.hdev:通过计算两个 XLD 轮廓之间的逐点距离来检查手机相机边框的宽度。 -
apply_distance_transform_xld.hdev:比较apply_distance_transform和distance_contours_xld的运行时间。 -
angio.hdev:从血管造影图像中提取血管及其直径。

浙公网安备 33010602011771号