于惠如

[摘要] 針對XX機(jī)型平板閥表面磨損,人工查找、處理損傷,存在表面損傷不容易查找問題,使用Halcon軟件和C#軟件編程,自動(dòng)檢測產(chǎn)品表面損傷,實(shí)現(xiàn)損傷定位,尺寸標(biāo)注等功能,解決該問題。
[關(guān)鍵詞]平板閥、Halcon、C#、表面損傷
1. 引言
平板閥是X型飛機(jī)液壓功能部件的關(guān)鍵零件,由于長時(shí)間工作,表面容易磨損,造成漏油故障。平板閥現(xiàn)用目測方法檢查,發(fā)現(xiàn)損傷后進(jìn)行研磨處理,再密封性試驗(yàn),檢查修理結(jié)果。使用目視方法檢查,只能識別明顯劃痕、磨損,造成漏點(diǎn)的小損傷難以發(fā)現(xiàn),往往要反復(fù)檢查、修復(fù)、試驗(yàn)才能完成產(chǎn)品修理。使用視覺檢測技術(shù),可以在電腦屏幕上顯示損傷面積、大小、位置。工作人員可以清楚的看到所有損傷,知道損傷位置,直接針對損傷部位進(jìn)行處理。修復(fù)后使用軟件對處理結(jié)果進(jìn)行檢查,從而避免了反復(fù)試驗(yàn)和損傷判斷不準(zhǔn)確的缺點(diǎn),提高工作效率和產(chǎn)品修理質(zhì)量。
2. 檢測原理
視覺檢測系統(tǒng)主要由工業(yè)攝像機(jī)、光源、鏡頭、圖像采集/處理卡、電腦、圖像處理系統(tǒng)、其他外部設(shè)備等組成。使用工業(yè)攝像機(jī)、圖像采集/處理卡對處理對象進(jìn)行圖像采集,生成具有RGB三通道的數(shù)字矩陣,存儲在計(jì)算機(jī)內(nèi)。Halcon圖像處理軟件讀取數(shù)據(jù),進(jìn)行灰度、濾波、閾值分割、目標(biāo)提取,特征計(jì)算等處理,找到表面缺陷。Halcon可以導(dǎo)出圖像處理的代碼,生成類庫, 用C#,VB等軟件調(diào)用Halcon類庫編程,完成目標(biāo)檢測功能。
3. Halcon圖像軟件算子
Halcon是德國MVtec公司研制的圖像處理軟件,功能強(qiáng)大,有1000多種功能算子。工程師可以直接使用功能算子處理圖像,而不用自己開發(fā)算法,減少了編程開發(fā)的難度,縮短了項(xiàng)目研制周期。
3.1圖像讀取
圖像處理首先要讀取圖像,Halcon可以用編程語句對存儲在計(jì)算機(jī)內(nèi)的圖像進(jìn)行讀取,也可以用工業(yè)攝像機(jī)抓取拍照。在平板閥表面檢測損傷檢測項(xiàng)目中使用攝像機(jī)進(jìn)行拍照。在Halcon軟件中使用助手對攝像機(jī)進(jìn)行設(shè)置,再用算子讀取圖像信息。
3.2灰度變換
彩色相機(jī)圖像輸出R、G、B三個(gè)通道的數(shù)據(jù),在表面檢測過程中首先要將彩色圖片轉(zhuǎn)換為灰色圖像。根據(jù)加權(quán)計(jì)算公式,可以將彩色圖像轉(zhuǎn)換為適于人眼識別的灰度圖像,公式如下:
Gray=0.299R+0.587g+0.114B
使用Halcon的 rgb_to_gray()算子,灰度結(jié)果存放在Imagegray變量里,然后用dev_display()將處理的灰度圖片顯示在屏幕上。
3.3濾波
圖像經(jīng)過灰度處理后,檢測物體表面進(jìn)行濾波處理,閾值分割算子會(huì)使用原始圖像與濾波圖像進(jìn)行分析,提取缺陷目標(biāo)。濾波算子為:mean_image(Image,ImageMean,7X7)將原始Image圖像,濾波后存入ImageMean中。
3.4閾值分割
閾值分割是圖像處理中的重要功能部件,它的作用是在灰度圖像中分割出符合灰度、面積以及尺寸等信息的圖像部分。使用局部閾值分割算子dyn_threshold(Image,ImageMean,DarkPixels,5,dark)將原始圖像Image與均值濾波圖像ImageMean進(jìn)行閾值分割處理,存入DarkPixels中。
3.5特征提取與計(jì)算
閾值分割處理的圖像劃痕和噪點(diǎn)都會(huì)顯示在圖像中,使用select_shape()算子過濾出符合要求的損傷。因?yàn)橐粭l劃痕在計(jì)算的過程中因?yàn)榛叶?、亮度等因素影響,?huì)不連貫。要用union1算子和膨脹算子skeleton()求出區(qū)域骨架。使用聯(lián)通算子connection()后,完整缺陷線條檢測出來。
4. C#與Halcon混合編程
Halcon軟件圖像生成的代碼作為C#的類庫。在檢測系統(tǒng)軟件中可以引用Halcon的功能,調(diào)用類,進(jìn)行程序編寫。在項(xiàng)目中要添加Halcon引用,從導(dǎo)出的Image.cs中拷貝HDevelopExport類到命名空間HalconCs中。C#編程例如:
Private void ad_click(object sender,eventargs e)
HDevleopExport HD=new HDevelopExport();
HD.RunHalcon(hwindow.HalconWindow);
5. 結(jié)束語
經(jīng)過調(diào)試,平板閥組件用工業(yè)攝像機(jī)拍照后,圖像軟件實(shí)現(xiàn)了自動(dòng)識別損傷功能。在電腦顯示器上損傷部位用紅色線條標(biāo)示,鼠標(biāo)選擇損傷部分,會(huì)有長度、面積、坐標(biāo)等信息顯示。修復(fù)前后都可以用檢測軟件查看識別損傷,圖像檢測的智能識別,操作簡單給修理工作帶來了便利。
參考文獻(xiàn):
[1]楊青.Halcon機(jī)器視覺算法原理與編程實(shí)戰(zhàn).北京大學(xué)出版社2019.12
[2] [英]約翰.夏普著 周靖譯VisualC#從入門到精通 清華大學(xué)出版社 .2019.1