?目標學員:? 機器視覺工程師、自動化工程師、設備開發工程師、質量檢測工程師。
預備知識:? 具備基本的編程概念(如C++/C#或VB.net之一更佳),了解基本的圖像處理知識。
Halcon核心概念與環境搭建
Halcon架構介紹(HDevelop, 運行時, 導出庫)。
HDevelop開發環境詳解:變量窗口、圖形窗口、程序窗口。
核心數據結構:Image, Region, XLD。
圖像采集:連接相機(GigE, USB3Vision)、讀取圖像、基本采集流程。
圖像預處理技術
目的:? 提升圖像質量,突出感興趣特征,為后續處理做準備。
空間域濾波:
平滑去噪:均值濾波、中值濾波、高斯濾波。
銳化增強:拉普拉斯算子、索貝爾算子、高斯拉普拉斯——用于增強劃痕、邊緣等。
頻率域濾波:? 傅里葉變換初步,用于周期性噪聲去除。
形態學處理:
基礎操作:膨脹、腐蝕、開運算、閉運算。
應用:斷開微小連接、填充細小孔洞、平滑區域邊界。
Blob分析(區域分析)
關鍵步驟:圖像分割(閾值分割、動態閾值)、區域轉換、形狀特征選擇(面積、圓度、矩形度)。
應用場景:? 屏幕亮點、暗點、大面積臟污檢測。
模板匹配與定位
基于形狀的匹配:? 核心工具,解決物體定位問題。
創建模板、優化參數(旋轉角度、縮放比例、金字塔層級)。
應用場景:? 屏幕/產品在圖像中的精確定位,確保后續檢測區域一致(ROI)。
邊緣與輪廓檢測(XLD)
邊緣提取算子(edges_sub_pix)、輪廓處理。
應用場景:? 產品外形尺寸測量、崩邊、毛刺檢測。
幾何計量(Metrology)
精確提取直線、圓、橢圓等幾何特征。
應用場景:? 屏幕邊框寬度、孔位距離等高精度尺寸測量。
檢測流程總覽:? 圖像采集 → 定位 → ROI生成 → 缺陷提取 → 分類與判定。
亮點與暗點檢測
方法1:? 動態閾值Blob分析(與周邊區域對比)。
方法2:? 基于頻域或紋理分析的方法。
劃痕檢測
方法1:? 形態學處理(如頂帽變換)—— 對低對比度劃痕極其有效。
方法2:? 方向性濾波,增強特定方向的線性特征。
Mura(斑痕)檢測
挑戰:? 對比度低、邊界模糊、無固定形狀。
方法1:? 標準模板比對(差分法)。
方法2:? 背景校正與不均勻性補償。
方法3(高級):? 利用深度學習中的異常檢測(Anomaly Detection)模型。
臟污與顆粒物檢測
結合Blob分析和形態學,區分于亮點/暗點。
劃傷與刮痕檢測:? 同屏幕劃痕檢測方法。
崩邊與缺角檢測:
方法:? 模板匹配定位后,通過邊緣輪廓的差異分析(如deviation_map)。
毛刺檢測:
方法:? 在邊緣輪廓的基礎上,通過局部曲率分析或凸性檢測來發現異常凸起。
異物與污染檢測:? 同臟污檢測。
深度學習應用(進階)
何時使用深度學習:? 解決傳統算法難以定義的復雜缺陷。
分類(Classification):? 區分“合格”與“不合格”,或多種缺陷類型。
目標檢測(Object Detection):? 定位并識別多種缺陷的位置和類別。
語義分割(Semantic Segmentation):? 精確到像素級的缺陷區域劃分。
異常檢測(Anomaly Detection):? 僅需OK樣本進行訓練,用于未知缺陷的發現。
性能優化與魯棒性設計
算法加速:使用Halcon的自動并行化、減少數據冗余。
光照變化的應對策略。
設計參數化、可配置的檢測流程,便于生產線調試。
系統集成與部署
將Halcon算法導出到宿主語言(如C#)。
設計簡單的圖形用戶界面(GUI)。
檢測結果保存、數據綁定MES/QMS系統。