机器视觉 measure_thresh算子

Posted 沧海一笑-dj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器视觉 measure_thresh算子相关的知识,希望对你有一定的参考价值。

00. 目录

01. 概述

measure_thresh - 沿矩形或环形弧提取具有特定灰度值的点。

02. 签名

measure_thresh(Image : : MeasureHandle, Sigma, Threshold, Select : RowThresh, ColumnThresh, Distance)

03. 描述

measure_thresh提取一维灰度值分布图内的灰度值等于指定的阈值Threshold的点。 将灰度值轮廓投影到与参数MeasureHandle一起传递的度量矩形的长轴上,因此在灰度值轮廓内计算的阈值点对应于确定图像坐标上的矩形长轴。算子结果RowThresh和ColumnThresh返回这些坐标。

如果灰度值轮廓与阈值线相交数次,则参数Select将确定要返回哪些值。 可能的设置是“first”,“last”,“first_last”(第一个和最后一个)或“all”。 对于最后两种情况,Distance中返回计算点之间的距离。

通过平均所有线段的灰度值来创建灰度值轮廓,所述线段由度量矩形定义如下:

1.分段垂直于矩形的长轴,

2.它们有一个到矩形中心的整数距离,

3.线段限定在矩形内。

对于每一个线段,计算与长轴具有整数距离的所有点的灰度值的平均值。 由于测量矩形相对于图像坐标存在平移和旋转,输入图像Image通常在亚像素位置被采样。

由于这涉及可以在多个投影中重复使用的一些计算,所以使用算子gen_measure_rectangle2预先执行一次这些计算。 在这里,测量对象MeasureHandle被生成,并且可以选择不同的插值方案。

原文描述

measure_thresh extracts points for which the gray value within an one-dimensional gray value profile is equal to the specified threshold Threshold. The gray value profile is projected onto the major axis of the measure rectangle which is passed with the parameter MeasureHandle, so the threshold points calculated within the gray value profile correspond to certain image coordinates on the rectangle’s major axis. These coordinates are returned as the operator results in RowThresh and ColumnThresh.

For an explanation of the concept of 1D measuring see the introduction of chapter 1D Measuring.

If the gray value profile intersects the threshold line for several times, the parameter Select determines which values to return. Possible settings are ‘first’, ‘last’, ‘first_last’ (first and last) or ‘all’. For the last two cases Distance returns the distances between the calculated points.

The gray value profile is created by averaging the gray values along all line segments, which are defined by the measure rectangle as follows:

The segments are perpendicular to the major axis of the rectangle,

they have an integer distance to the center of the rectangle,

the rectangle bounds the segments.

For every line segment, the average of the gray values of all points with an integer distance to the major axis is calculated. Due to translation and rotation of the measure rectangle with respect to the image coordinates the input image Image is in general sampled at subpixel positions.

Since this involves some calculations which can be used repeatedly in several projections, the operator gen_measure_rectangle2 is used to perform these calculations only once in advance. Here, the measure object MeasureHandle is generated and different interpolation schemes can be selected.

执行信息

●  多线程类型:可重入(与非独占算子并行运行)。
●  多线程范围:全局(可以从任何线程调用)。
●  不并行处理。

04. 注意

只有边缘是直的并垂直于矩形或弧的长轴,measure_thresh返回的结果才有意义。 因此它不应该用于从曲面对象中提取边缘。 此外用户应确保矩形或弧线尽可能接近垂直于图像中的边缘。 此外,西格玛不能大于约0.5 * Length1(对于Lenth1请参见gen_measure_rectangle2)。

应该记住,为了效率的原因,measure_thresh会忽略Image的ROI域。 如果图像中的特定区域应该从measurement中排除,则应该生成具有适当修改的参数的新measure对象。

05. 参数

Image (input_object)   单通道图像 → object (byte / uint2 / real)
  输入图像。

MeasureHandle (input_control)    measure_id → (integer)
  Measure对象句柄。

Sigma (input_control)    number → (real)
高斯模糊Sigma。

Default value: 1.0
Suggested values: 0.0, 0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0
Typical range of values: 0.4 ≤ Sigma ≤ 100 (lin)
Minimum increment: 0.01
Recommended increment: 0.1
Restriction: Sigma >= 0.0

Threshold (input_control)    number → (real)
阈值。
Default value: 128.0
Typical range of values: 0 ≤ Threshold ≤ 255 (lin)
Minimum increment: 0.5
Recommended increment: 1

Select (input_control)    string → (string)
要选择的点。
Default value: ‘all’
List of values: ‘all’, ‘first’, ‘first_last’, ‘last’

RowThresh (output_control)    point.y-array → (real)
具有阈值的点的Row坐标。

ColumnThresh (output_control)    point.x-array → (real)
具有阈值的点的Column坐标。

Distance (output_control)    real-array → (real)
连续点之间的距离。

06. 结果

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

HDevelop例程

程序示例


07. 附录

7.1 机器视觉博客汇总
网址:https://dengjin.blog.csdn.net/article/details/116837497

以上是关于机器视觉 measure_thresh算子的主要内容,如果未能解决你的问题,请参考以下文章

机器视觉 exit算子

机器视觉 switch算子

机器视觉 export_def算子

机器视觉 insert算子(已废弃)

机器视觉 stop算子

机器视觉 endwhile算子