HALCON 20.11:學習筆記---一維測量(Measuring)

機器視覺001 2021-08-15 21:00:04 阅读数:605

本文一共[544]字,预计阅读时长:1分钟~
halcon measuring

HALCON 20.11:學習筆記---一維測量(Measuring)

本章主要提供有關一維測量的信息。

一維測量的概念

通過一維測量可以沿著預定義的線或弧定比特從亮到暗或從暗到亮的過渡邊緣。這使您可以快速、輕松地高精度測量零件的尺寸。注意,如果您想要測量幾何圖元(如圓、橢圓、矩形或線)的尺寸,並且比特置、方向和幾何形狀的近似值是已知的,那麼二維測量可能是一個合適的替代方法。

沿著直線(1)或弧線(2)測量邊緣和它們之間的距離

下面簡要介紹使用一維測量所需的步驟。

生成測量對象

首先,必須生成一個測量對象來描述感興趣的測量區域。如果測量應沿直線進行,則測量對象由矩形定義。如果測量應沿圓弧進行,則測量對象定義為圓弧。測量對象由算子生成:

  1. gen_measure_rectangle2
  2. gen_measure_arc

注意,您可以使用基於形狀的匹配(參見匹配/基於形狀)來自動對齊測量對象。

執行測量

然後進行實際測量。為此,通常使用以下算子之一:

  1. measure_pos算子提取垂直於被測對象主軸的直線邊,並返回邊緣中心的比特置、邊緣振幅和連續邊緣之間的距離。
  2. measure_pairs算子提取垂直於測量對象主軸的直線邊對,返回邊對的邊緣中心比特置、邊對的邊緣振幅、邊對的邊緣之間的距離以及相鄰邊對之間的距離。
  3. measure_thresh算子沿著測量對象的主軸提取具有特定灰度值的點,並返回它們的比特置和連續點之間的距離。

如果有額外的邊不需要測量,可以應用模糊測量。首先必須定義描述好邊特征的所謂模糊規則。可能的特征是比特置、距離、灰度值或邊緣的振幅。這些函數是用create_funct_1d_pairs創建的,並通過set_fuzzy_measureset_fuzzy_measure_norm_pair傳遞給工具。然後下面算子將根據這些規則,提取出最合適的邊緣:

  1. fuzzy_measure_pos算子提取垂直於測量對象主軸的直線邊,返回邊緣中心的比特置、邊緣振幅、模糊分數和連續邊緣之間的距離。
  2. fuzzy_measure_pairs算子提取直線邊緣對垂直於主軸的測量對象,並返回邊緣對的第一和第二的比特置邊緣,邊緣對的邊緣振幅,邊緣對的中心比特置,模糊分數,邊緣對的邊緣之間的距離,以及連續的邊緣對之間的距離。。
  3. fuzzy_measure_pairing類似於fuzzy_measure_pairs,但它也可以使用參數Pairing來提取交錯和包含的成對。

除了自動提取測量對象內的邊緣或點外,您還可以提取垂直於矩形或環形弧的一維灰度值輪廓,並根據您的需要評估該灰度值信息。利用該算子可以提取測量對象內的灰度值輪廓:measure_projection

銷毀測量對象句柄

當您不再需要測量對象時,可以通過傳遞句柄來銷毀它:close_measure

進一步的操作

除了上面提到的算子,您可以使用reset_fuzzy_measure丟弃一套之前通過set_fuzzy_measureset_fuzzy_measure_norm_pair設置的模糊函數的模糊集,translate_measure將測量對象的參考點轉換到指定比特置,write_measureread_measure將測量對象寫入文件並從文件中重新讀取,serialize_measuredeserialize_measure將測量對象序列化和反序列化。

算子列錶

close_measure:删除測量對象。

deserialize_measure:對序列化的度量對象進行反序列化。

fuzzy_measure_pairing:提取垂直於矩形或環形弧的直邊對。

fuzzy_measure_pairs:提取垂直於矩形或環形弧的直邊對。

fuzzy_measure_pos:提取垂直於矩形或環形弧的直邊。

gen_measure_arc:生成提取垂直於環形弧的直邊的測量對象。

gen_measure_rectangle2:生成提取垂直於矩形的直邊的測量對象。

measure_pairs:提取垂直於矩形或環形弧的直邊對。

measure_pos:提取垂直於矩形或環形弧的直邊。

measure_projection:提取垂直於矩形或環形弧的灰度值輪廓。

measure_thresh:沿矩形或環形弧提取具有特定灰度值的點。

read_measure:從文件中讀取度量對象。

reset_fuzzy_measure:重置模糊函數。

serialize_measure:序列化度量對象。

set_fuzzy_measure:指定一個模糊函數。

set_fuzzy_measure_norm_pair:為邊對指定一個歸一化模糊函數。

translate_measure:轉換測量對象。

write_measure:將度量對象寫入文件。

版权声明:本文为[機器視覺001]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/08/20210815210002965r.html