VisionPro-PMA工具
模板匹配的核心概念
康耐視(Cognex)的VisionPro是一款廣泛應用工業自動化的機器視覺軟件平臺,其模板匹配(Pattern Matching)功能是核心工具之一,常用與目標定位、特征識別和質量檢測等場景。
模板匹配:通過預先定義的參考(模板),在實時圖像中快速定位相似區域。
適用場景:定位工件、驗證特征是否存在、檢測位置偏移、二維碼/條形碼定位。
核心技術:VisionPro的PatMax和PatFlex算法是其核心專利技術,具有高精度和控干擾能力,支持旋轉、縮放、光照變化和部分遮擋。
熟悉模板
步驟1:選擇Image Source添加圖像來源;
步驟2:模板匹配工具主體;
步驟3:ToolGroup(工具組)的輸出是指將多個視覺工具(如PatMax、Caliper、Blob等)組合成一個邏輯單元后,該組工具對外暴露的結果數據。
CogPMAlignTool
InputImage:添加圖片來源
Results.Item[0].GetPose():方法返回的是一個表示匹配結果位置和方向的變換矩陣,通常是一個CogTransform2DLinear
類型的對象。
Results.Item[0].GetPose().TranslationX:這些值指的是模板匹配后原點坐標在原始圖像像素坐標之后的位置。
Results.Item[0].GetPose().TranslationY:和TranslationX一樣。
Results.Item[0].GetPose().Rotation:這是模板匹配后的旋轉角度。
Results.Item[0].Score:這是一個分數值,用來評估匹配的質量。分數越高,意味著匹配越準確。
- 抓取訓練圖像
- 選著
Current.TranImage
- 適應圖像–>中心原點–>訓練區域–>區域形狀–>所選空間名稱–>選擇模式–>查看原點、邊長、旋轉、傾斜–>查看訓練原點內部:所選空間名稱、原點、邊長、旋轉、傾斜。
- 根據模板類型選擇區域形狀。
- 角度:用戶可以設定查找的角度范圍以及步長。例如,如果你預計目標物體可能會有±15度的旋轉,那么你可以在工具設置中指定這個角度范圍。
- 縮放:用戶需要定義查找的縮放范圍。如果目標物體可能會有不同的尺寸,那么就需要設置適當的最小和最大縮放比例來確保能夠正確識別目標。
- 查找概述:根據物品多少來決定檢測數量,如果查找概述和實際數量不匹配會出現物品不足。
- 接受閾值:這是用來決定是否接受某個匹配結果的一個分數閾值,只有得分高于此閾值的結果才會被認為時有效的匹配。
- 計分時考慮雜斑:如果選擇計分時考慮雜斑,這些非目標特征將會影響最終的得分值,導致得分較低沒因為他們被視為不想管的信息而拉低了整體匹配的質量評分。
其他內容根據實際情況選擇。
- 可選
- 上方步驟完成后可選擇訓練,完成模板匹配,如一些模板無法匹配可以根據上方步驟進行調整;最終效果能夠實現請不要輕易更改內容該頁面內容。
- 忽略極性:使用在多變的光照條件呈現亮度不同、對象表面特性反射率或吸收了率不同和圖案設計復雜性凸顯元素和紋理。
- 如常用該模板可以進行保存模式,下次或數據一樣可以選擇加載模式使用之前模板數據。
模板算法:
算法 | 描述 |
---|---|
PatMax | 基于集合特征的匹配,適用于高精度、復雜形狀的定位,支持選擇、縮放和透視變換 |
PatFlex | 針對柔性變形或表面紋理變化的場景(軟包裝、橡膠件) |
PatQuick | 快速匹配,適用于對速度要求較高,但精度略低 |
PatMax與PatQuick | PatMax與PatQuick充分發揮兩者的優勢,在速度、精度和魯棒性之間實現平衡 |
patMax - 高靈敏度 | 目標特征微弱,微小特征檢測(如芯片引腳、精密焊點) |
透視 PatMax | 傳統PatMax支持旋轉、縮放,但**透視變形(如傾斜視角)**需要更高級算法, PatMax Pro(或部分版本中的“透視模式”)通過仿射變換或投影變換模型支持透視校正 |
- List item
模板匹配成功后可以在結果中查看模板結果
CogFixtyreTool
CogFixtyreTool工具用于建立定位坐標系。
- InputImage:指的是用于進行坐標系轉換和對齊操作的輸入圖像。
- RunParams.UnfixturedFromFixturedTransform:它代表了一個從固定坐標系到未固定坐標系的變換。
- RunParams.UnfixturedFromFixturedTransform.TranslationX:它代表了從固定坐標系到未固定坐標系變換中的 X 軸方向上的平移量。換句話說,它是用來描述目標對象在新的坐標系下相對于原坐標系沿水平方向(X軸)移動了多少距離。
- RunParams.UnfixturedFromFixturedTransform.TranslationY:它代表了從固定坐標系到未固定坐標系變換中的 Y 軸方向上的平移量。換句話說,它是用來描述目標對象在新的坐標系下相對于原坐標系沿水平方向(Y軸)移動了多少距離。
- RunParams.UnfixturedFromFixturedTransform.Rotation:這個屬性表示的是從固定坐標系(Fixtured Coordinate Space)到未固定坐標系(Unfixtured Coordinate Space)之間的旋轉變換角度。
- OutputImage:是一個重要的輸出參數,它代表了經過坐標變換后生成的新圖像。
te Space)到未固定坐標系(Unfixtured Coordinate Space)之間的旋轉變換角度。
- OutputImage:是一個重要的輸出參數,它代表了經過坐標變換后生成的新圖像。