? ? ?前言:差不多三個月沒更新了,天天碼代碼,實在是太忙了,有時候也在想這么忙到底是不是工作方法的問題,怎么樣才能變成大師呢!
一:進一步學習
今天學習下VisionMaster中的字符缺陷檢測:包括字符臟污、缺失、差異等缺陷。該模塊適用于檢測各類部件的字符缺陷,如半導體芯片上雕刻字符缺陷和包裝行業印刷字符缺陷
二:開始學習
? ? ?1:什么是字符缺陷檢測?
字符缺陷檢測主要用于解決工業生產中產品標識(如生產日期、批次號、序列號等)的質量管控問題。它能夠自動識別字符區域的各種缺陷,如印刷不清、字符缺損、污染、墨跡過濃或過淡、位置偏移等。傳統人工檢測不僅效率低,且容易因疲勞產生漏檢。
? ? ?2:應用場景
海康VisionMaster的字符缺陷檢測功能在工業領域應用廣泛,它主要替代傳統人工目檢,自動識別產品表面字符的各種質量問題,如漏印、錯印、多墨、缺損、模糊、臟污、位置偏移等。這對于保證產品標識質量、實現生產自動化和滿足嚴格的可追溯性要求至關重要。
為了讓你能快速了解它的應用全貌,我用一個表格來概括其主要應用領域和檢測內容:
應用領域 | 典型產品/場景舉例 | 主要檢測內容/缺陷類型 | 核心價值與備注 |
---|---|---|---|
電子與半導體 | 手機殼、電池(如動力電池)、PCB線路板 | 字符內容是否正確、清晰、完整,有無漏印、錯印 | 防止混料,確保產品追溯性(如電池混裝判斷) |
醫藥與包裝 | 藥盒、包裝盒(如牛奶包裝)、標簽 | 生產日期、保質期、批次號等噴碼是否清晰、無誤,有無打花、缺碼、污點 | 保障用藥安全,避免流通障礙,深度學習對復雜背景和變化字符處理優勢明顯 |
食品與飲料 | 食品包裝、飲料瓶蓋、乳制品包裝 | 生產日期、保質期、批號等噴印質量,有無缺失、模糊、污染 | 確保產品標識合規,維護品牌形象,通常需在高速度生產線上穩定運行 |
汽車與零部件 | 汽車零件、發動機部件、VIN碼 | 零件編碼、符號、標識是否清晰可讀,內容是否正確 | 滿足行業嚴格的質量追溯標準 |
日用與消費品 | 鍵盤字符、衣物標簽字符、橡膠按鍵、紙杯 | 字符印刷質量,有無缺損、模糊、錯誤 | 提升產品外觀品質和用戶體驗(如紙杯杯沿、內壁臟污檢測) |
物流與倉儲 | 包裹面單、貨架標簽、檔案文件 | 條碼、字符識別(OCR),用于分揀、盤點、數字化管理 | 讀碼與字符識別同步進行,提升物流效率 |
其他工業場景 | 電容、電子元器件、卡片(如IC卡、銀行卡) | 絲印質量、字符內容準確性 |
三:直接上案例
1:先導入需要測試的圖片集合
2:使用輪廓定位,把兩個組件的線連起來,這里是需要設定模版匹配功能,這樣圖像不管怎么旋轉都能準確定位圖像位置,具體操作步驟可以參考前面課程
3:拖入位置修正功能:這個非常重要,這里也不提了,可以參考上一篇筆記
4:拖入字符缺陷檢測模塊
5:雙擊組件,開始設定參數:
基本參數這里就是畫ROI,設定跟蹤參數和之前的工具是一樣的方法
下面開始設定參數:點擊字符模版,會彈出字符模版設定畫面
(1):第一步先畫ROI,將需要識別的字符框進去
*******假設我先訓練 框的這些字符******‘
(2):點擊生成模型(QAQ這個我也研究看半天,不點生成模型,下一步就點不了)
看到這個字符自動識別到了,變成綠色的了,代表初步OK
?------>參數設定:這個其實和前面學習的模版匹配原理是一樣的,就是生成輪廓,當然這里我選擇的都是自動,我看效果挺好的。如果覺得效果不好,可以改成手動,調節對比度試試
(3):在點擊下一步:這個窗口上面有提示,開始設定檢測目標
(4): 再次畫一個模版訓練框,然后直接點提取字符查看效果,這里就是自動分割字符的算法了
? ------>參數設定:看上圖有一個字母N沒有識別到,這個時候就要調整參數了
? ? ? 1):最小字符面積:設置面積閾值,查找面積大于設置數值的目標字符
? ? ? 2):最小字符寬度:設置字符寬度的閾值,查找寬度大于設置數值的目標字符
? ? ? 3):二值化尺度:設置的數值越低,可提取的二值化點越少,但也越可靠,請根據實際需求設置
? ? ? 4):二值化窗口大小:設置二值化點的領域的大小,上圖中我就是調整這個參數的,看官方文檔比較簡單,可以自己多試試效果??
? ? ? 5):二值化閾值:將字符與背景區分開來
? ? ?6):字符極性:這個根據實際來設定
? ? ?7):字符分割方式:感覺3個效果差不多,我就選了一個字符分割
(5): 上述參數設定好之后,在點擊下一步 設置精定位
? ?這個時候能看到每個字符旁邊會生成一個測量框,但是發現生成的框和字符是挨著的,然后訓練模版時候,字符旁邊的輪廓線可能會出不來,所以這里可以單獨調整每一個字符框的大小
這個看著字符效果就杠杠的
------>參數設定:這邊的參數感覺也不用說了,和第一頁的參數差不多,就是要把模版輪廓抓好就行了
(6): 上述參數設定好之后,在點下一步:這是檢測區域掩膜,這里一般不用,直接跳過
(7): 最后一個統計訓練,如下圖,就把當前設定的圖像添加進去,點統計當前圖像即可
最后看到生成了字碼的預覽圖,就代表模版創建OK了
6:上述是整個的創建字碼模版的步驟,接下來還要設定字碼檢測的參數
(1):缺陷類型:共有三種類型,可選亮缺陷、暗缺陷、亮暗缺陷,根據實際的來
(2):亮/暗缺陷閾值:這是亮/暗缺陷的最小灰度值,就是差不多二值化的意思
(3):亮/暗缺陷尺度:亮/暗缺陷的最小尺度
(4):邊緣容忍度:取值越大 對缺陷容忍程度就越高,如果邊緣部分報警比較多,可以適當調大一點
(5):面積大小閾值:這是最小面積,超過該數值的面積才算缺陷
四:實測:上述設定好參數,開始實際測量看看效果