一维测量

算子列表 ↓

本章包含用于一维测量的算子。

一维测量概念

通过二维测量,可沿预定义直线或弧线定位边缘(即明暗交界处)。这使您能够快速、轻松且高精度地测量零件尺寸。需注意的是,若需测量圆、椭圆、矩形或直线等几何基本元素的尺寸,且已知其位置、方向及几何形状的近似值,则 二维计量 可能是更合适的选择。

( 1) ( 2)
测量沿直线(1)或沿弧线(2)的边长及其间距。这些图像来自示例程序fuzzy_measure_pin.hdev和measure_ring.hdev。

以下简要描述了使用一维测量所需的步骤。

生成测量对象:

首先,必须生成一个测量对象来描述测量所需的感兴趣区域。若需沿直线进行测量,则测量对象通过矩形定义;若需沿弧线测量,则测量对象定义为环形弧线。测量对象可通过以下算子生成:

请注意,您可使用形状匹配功能(参见 匹配 / 基于形状) 一章)自动对齐测量对象。

执行测量:

随后进行实际测量。为此,通常使用以下算子之一:

或者,若存在不属于测量的额外边缘,则可采用模糊测量法。此时需定义描述优质边缘特征的模糊规则。特征参数可包括边缘位置、距离、灰度值或振幅等。这些函数通过 create_funct_1d_pairscreate_funct_1d_pairsCreateFunct1dPairsCreateFunct1dPairsCreateFunct1dPairscreate_funct_1d_pairs 创建,并借助 set_fuzzy_measureset_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasureSetFuzzyMeasureset_fuzzy_measureset_fuzzy_measure_norm_pairset_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPairset_fuzzy_measure_norm_pair 传递至工具。随后,根据这些规则,以下算子之一将提取最合适的边缘:

除了自动提取测量对象内的边缘或点外,您还可以提取与矩形或环形弧线垂直的一维灰度值剖面,并根据需求评估这些灰度值信息。测量对象内的灰度值剖面可通过以下算子提取:

销毁测量对象句柄:

当不再需要测量对象时,可通过将句柄传递给以下算子销毁它:

其他算子

除上述算子外,您还可使用 reset_fuzzy_measurereset_fuzzy_measureResetFuzzyMeasureResetFuzzyMeasureResetFuzzyMeasurereset_fuzzy_measure 丢弃先前通过 set_fuzzy_measureset_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasureSetFuzzyMeasureset_fuzzy_measureset_fuzzy_measure_norm_pairset_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPairset_fuzzy_measure_norm_pair 设置的模糊集模糊函数;使用 translate_measuretranslate_measureTranslateMeasureTranslateMeasureTranslateMeasuretranslate_measure 将测量对象的基准点平移至指定位置;使用 write_measurewrite_measureWriteMeasureWriteMeasureWriteMeasurewrite_measureread_measureread_measureReadMeasureReadMeasureReadMeasureread_measure 将测量对象写入文件及从文件读取;以及 serialize_measureserialize_measureSerializeMeasureSerializeMeasureSerializeMeasureserialize_measuredeserialize_measuredeserialize_measureDeserializeMeasureDeserializeMeasureDeserializeMeasuredeserialize_measure 用于序列化和反序列化测量对象。

术语表

以下将描述一维测量中使用的重要术语。

测量对象

一种数据结构,其中包含特定感兴趣区域,该区域已准备好用于提取垂直于矩形或环形弧主轴的直边。

环形弧

具有关联宽度的圆弧。

更多信息

有关一维测量的更多详细信息,请参阅 “解决方案指南基础篇”“一维测量解决方案指南”


算子列表

close_measureCloseMeasureclose_measureCloseMeasureclose_measure关闭测量
删除测量对象。
deserialize_measureDeserializeMeasuredeserialize_measureDeserializeMeasuredeserialize_measure反序列化测量
反序列化一个序列化的测量对象。
fuzzy_measure_pairingFuzzyMeasurePairingfuzzy_measure_pairingFuzzyMeasurePairingfuzzy_measure_pairing模糊测量配对
提取垂直于矩形或环形弧的直边对。
fuzzy_measure_pairsFuzzyMeasurePairsfuzzy_measure_pairsFuzzyMeasurePairsfuzzy_measure_pairs模糊测量对
提取垂直于矩形或环形弧的直边对。
fuzzy_measure_posFuzzyMeasurePosfuzzy_measure_posFuzzyMeasurePosfuzzy_measure_pos模糊测量位置
提取垂直于矩形或环形弧的直边。
gen_measure_arcGenMeasureArcgen_measure_arcGenMeasureArcgen_measure_arc生成测量弧
准备提取垂直于环形弧的直边。
gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2生成测量矩形2
准备提取垂直于矩形的直边。
get_measure_paramGetMeasureParamget_measure_paramGetMeasureParamget_measure_param获取测量参数
返回测量值对象的参数和属性。
measure_pairsMeasurePairsmeasure_pairsMeasurePairsmeasure_pairs测量对
提取垂直于矩形或环形弧的直边对。
measure_posMeasurePosmeasure_posMeasurePosmeasure_pos测量位置
提取垂直于矩形或环形弧的直边。
measure_projectionMeasureProjectionmeasure_projectionMeasureProjectionmeasure_projection测量投影
提取垂直于矩形或环形弧的灰度值剖面。
measure_threshMeasureThreshmeasure_threshMeasureThreshmeasure_thresh测量阈值
沿矩形或环形弧提取具有特定灰度值的点。
read_measureReadMeasureread_measureReadMeasureread_measure读取测量
从文件中读取测量对象。
reset_fuzzy_measureResetFuzzyMeasurereset_fuzzy_measureResetFuzzyMeasurereset_fuzzy_measure重置模糊测量
重置模糊函数。
serialize_measureSerializeMeasureserialize_measureSerializeMeasureserialize_measure序列化测量
序列化测量对象。
set_fuzzy_measureSetFuzzyMeasureset_fuzzy_measureSetFuzzyMeasureset_fuzzy_measure设置模糊测量
指定一个模糊函数。
set_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairset_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairset_fuzzy_measure_norm_pair设置模糊测量归一化对
为边缘对指定一个归一化模糊函数。
translate_measureTranslateMeasuretranslate_measureTranslateMeasuretranslate_measure平移测量
平移测量对象。
write_measureWriteMeasurewrite_measureWriteMeasurewrite_measure写入测量
将测量对象写入文件。