機器視覺001 2021-08-15 21:00:04 阅读数:605
本章主要提供有關一維測量的信息。
通過一維測量可以沿著預定義的線或弧定比特從亮到暗或從暗到亮的過渡邊緣。這使您可以快速、輕松地高精度測量零件的尺寸。注意,如果您想要測量幾何圖元(如圓、橢圓、矩形或線)的尺寸,並且比特置、方向和幾何形狀的近似值是已知的,那麼二維測量可能是一個合適的替代方法。
沿著直線(1)或弧線(2)測量邊緣和它們之間的距離
下面簡要介紹使用一維測量所需的步驟。
首先,必須生成一個測量對象來描述感興趣的測量區域。如果測量應沿直線進行,則測量對象由矩形定義。如果測量應沿圓弧進行,則測量對象定義為圓弧。測量對象由算子生成:
注意,您可以使用基於形狀的匹配(參見匹配/基於形狀)來自動對齊測量對象。
然後進行實際測量。為此,通常使用以下算子之一:
如果有額外的邊不需要測量,可以應用模糊測量。首先必須定義描述好邊特征的所謂模糊規則。可能的特征是比特置、距離、灰度值或邊緣的振幅。這些函數是用create_funct_1d_pairs創建的,並通過set_fuzzy_measure或set_fuzzy_measure_norm_pair傳遞給工具。然後下面算子將根據這些規則,提取出最合適的邊緣:
除了自動提取測量對象內的邊緣或點外,您還可以提取垂直於矩形或環形弧的一維灰度值輪廓,並根據您的需要評估該灰度值信息。利用該算子可以提取測量對象內的灰度值輪廓:measure_projection。
當您不再需要測量對象時,可以通過傳遞句柄來銷毀它:close_measure。
除了上面提到的算子,您可以使用reset_fuzzy_measure丟弃一套之前通過set_fuzzy_measure或set_fuzzy_measure_norm_pair設置的模糊函數的模糊集,translate_measure將測量對象的參考點轉換到指定比特置,write_measure和read_measure將測量對象寫入文件並從文件中重新讀取,serialize_measure和deserialize_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