【机器视觉】 gen_measure_arc算子 系统管理员 2022-10-13 05:15 99阅读 0赞 ## 00. 目录 ## ### 文章目录 ### * * 00. 目录 * 01. 概述 * 02. 签名 * 03. 描述 * 04. 注意 * 05. 参数 * 06. 结果 * 07. 附录 ## 01. 概述 ## gen\_measure\_arc - 准备提取垂直于圆弧的直边。 ## 02. 签名 ## `gen_measure_arc( : : CenterRow, CenterCol, Radius, AngleStart, AngleExtent, AnnulusRadius, Width, Height, Interpolation : MeasureHandle)` ## 03. 描述 ## 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”,则使用浮点运算执行内部计算,从而导致最大的几何精度,但也会显著增加执行时间。 **原文描述**: gen\_measure\_arc prepares the extraction of straight edges which lie perpendicular to an annular arc. Here, annular arc denotes a circular arc with an associated width. The center of the arc is passed in the parameters CenterRow and CenterCol, its radius in Radius, the starting angle in AngleStart, and its angular extent relative to the starting angle in AngleExtent. If AngleExtent > 0, an arc with counterclockwise orientation is generated, otherwise an arc with clockwise orientation. The radius of the annular arc, i.e., half its width, is determined by AnnulusRadius. For an explanation of the concept of 1D measuring see the introduction of chapter 1D Measuring. The edge extraction algorithm is described in the documentation of the operator measure\_pos. As discussed there, different types of interpolation can be used for the calculation of the one-dimensional gray value profile. For Interpolation = ‘nearest\_neighbor’, the gray values in the measurement are obtained from the gray values of the closest pixel, i.e., by constant interpolation. For Interpolation = ‘bilinear’, bilinear interpolation is used, while for Interpolation = ‘bicubic’, bicubic interpolation is used. To perform the actual measurement at optimal speed, all computations that can be used for multiple measurements are already performed in the operator gen\_measure\_arc. For this, an optimized data structure, a so-called measure object, is constructed and returned in MeasureHandle. The size of the images in which measurements will be performed must be specified in the parameters Width and Height. The system parameter ‘int\_zooming’ (see set\_system) affects the accuracy and speed of the calculations used to construct the measure object. If ‘int\_zooming’ is set to ‘true’, the internal calculations are performed using fixed point arithmetic, leading to much shorter execution times. However, the geometric accuracy is slightly lower in this mode. If ‘int\_zooming’ is set to ‘false’, the internal calculations are performed using floating point arithmetic, leading to the maximum geometric accuracy, but also to significantly increased execution times. **执行信息** ● 多线程类型:可重入(与非独占算子并行运行)。 ● 多线程范围:全局(可以从任何线程调用)。 ● 不并行处理。 该算子返回一个句柄。 请注意,即使将此句柄用作输入参数,该句柄类型的实例的状态也可能被特定的算子所改变。 ## 04. 注意 ## 请注意,使用双线性或双三次插值时,不仅矩形的测量,而且矩形周围的边缘必须在图像中。 对于双线性插值而言,边缘的宽度(在所有四个方向上)必须至少有一个像素,对于双三次插值必须至少有两个像素。 对于不满足此条件的投影线,不计算灰度值。 因此,在这些位置上不能提取边缘。 ## 05. 参数 ## **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对象的句柄 ## 06. 结果 ## 如果参数值正确,则运算符gen\_measure\_arc返回2(H\_MSG\_TRUE)。 否则会引发异常。 **HDevelop例程** > measure\_ring.hdev 用圆形measure对象确定齿轮的宽度 > measure\_arc.hdev 测量沿着圆弧的金属部件的宽度 > gen\_measure\_arc.hdev 测量垂直于给定弧的边 **程序示例** ## 07. 附录 ## **7.1 机器视觉博客汇总** 网址:[https://dengjin.blog.csdn.net/article/details/116837497][https_dengjin.blog.csdn.net_article_details_116837497] [https_dengjin.blog.csdn.net_article_details_116837497]: https://dengjin.blog.csdn.net/article/details/116837497
相关 【机器视觉】 switch算子 00. 目录 文章目录 00. 目录 01. 概述 02. 签名 03. 描述 04. 注意 £神魔★判官ぃ/ 2022年10月07日 06:59/ 0 赞/ 266 阅读
相关 【机器视觉】 for算子 00. 目录 文章目录 00. 目录 01. 概述 02. 签名 03. 描述 04. 注意 本是古典 何须时尚/ 2022年10月07日 06:55/ 0 赞/ 86 阅读
相关 【机器视觉】 endif算子 00. 目录 文章目录 00. 目录 01. 概述 02. 签名 03. 描述 04. 注意 Myth丶恋晨/ 2022年10月07日 06:00/ 0 赞/ 218 阅读
相关 【机器视觉】 elseif算子 00. 目录 文章目录 00. 目录 01. 概述 02. 签名 03. 描述 04. 注意 野性酷女/ 2022年10月07日 06:00/ 0 赞/ 222 阅读
相关 【机器视觉】 stop算子 00. 目录 文章目录 00. 目录 01. 概述 02. 签名 03. 描述 04. 注意 妖狐艹你老母/ 2022年10月07日 05:53/ 0 赞/ 210 阅读
相关 【机器视觉】 global算子 00. 目录 文章目录 00. 目录 01. 概述 02. 签名 03. 描述 04. 注意 妖狐艹你老母/ 2022年10月07日 05:51/ 0 赞/ 237 阅读
还没有评论,来说两句吧...