基于 Halcon 的視覺檢測軟件的應用
文:聞晶 武漢臻迪智能技術有限公司 2019年第一期
摘要:針對工業自動化領域視覺應用越來越多的情況,采用Halcon和C#開發了一款視覺軟件。該軟件具有二維碼識別,OCR字符識別和定位功能。可以配合機器人和模組完成定位監測功能。
關鍵詞:Halcon;C#;視覺;愛普生機器人
中圖法分類號:TP273文獻標識碼:A
引言
近年來,社會發展節奏越來越快,人們思想發生了巨大轉變加上適齡勞動力減少,各行各業都想導入自動化設備。由于工況越來越復雜,對設備的精度要求也越來越高。為了提高精度,引入了相機視覺定位。
業界普遍使用視覺有兩種方式,智能相機和基于PC自主開發的視覺軟件。前者使用方便成本高,好多規模不大的公司用不起。后者成本適中但是開發任務繁重,開發周期較長。如果能夠自主開發一套具備常用功能的視覺通用軟件,將會極大節約成本又可以在較短時間內應用。本文就這方面做一個簡單介紹。
1.軟件總體介紹
軟件使用C#和Halcon混合編程開發而成,開發工具是VS2012和Halcon11.0。軟件功能主要由七部分構成:相機參數設置模塊,二維碼讀取模塊,OCR識別模塊,模式匹配模塊,串口通訊模塊,網絡通訊模塊和狀態顯示模塊。下面簡單介紹下各模塊功能:
相機參數設置模塊主要用于相機類型選擇,相機名稱選擇,曝光和增益調節,搜索當前已連接相機及保存當前 參數。
二維碼讀取模塊可以設置二維碼類型,條碼極性等參數并可以顯示讀碼結果和內容。
OCR識別模塊可以設置OCR參數,區域及顯示當前讀取結果。
模板匹配模塊可以設置匹配參數,模板參數,創建模板,設置ROI及顯示當前檢測結果。
串口通訊模塊用來和外部通訊設置相關參數,包括串口號等,設置好后可以保存至XML文件。
網絡通訊模塊可以設置TCP/IP相關參數及保存至XML文件。軟件整體界面如下圖1所示:
圖1
2.軟件詳細介紹
本軟件采用傳統的軟件開發生命周期的方法,采用自上而下的開發順序,逐步求精細化的結構化軟件設計方法。從用戶使用需求方面上講,軟件可分為運行狀態、測試類型、實時顯示、模式選擇、文件加載等功能,如圖2所示。
2.1通訊協議
本軟件具有兩種通訊方式和外部交互數據,分別是串口通訊和網絡通訊。
串口通訊包括串口號、波特率、數據位、停止位、校驗位、保存和打開串口等信息,如圖3所示。其中串口號為連接相機端口號,圖中為COM6。波特率要與數據交互端設置成一致,圖中為9600(常用的波特率有9600、19200、38400、43000、56000、57600、115200等)。數據位、停止位、校驗位設置,圖中設置為8位、1位、無校驗。“保存”是用來存儲設置的參數信息。“打開串口”是用來測試通訊端口是否能打開。
網絡通訊界面包括端口號、聯機信息、數據內容、考試監聽、發送信息和保存等信息,如圖4所示。“端口號”設置的是60000,“聯機信息”會顯示連接狀態,“數據內容”會顯示收到的數據,當需要啟用網絡通信時點選開始監聽。
2.2相機參數
相機參數設置界面主要用于相機類型、相機名稱、曝光、增益、搜索相機、保存、打開相機、實時圖像、停止。如圖5所示,
圖5相機參數設置界面選擇相機類型:選擇相機的品牌,如Basler、Dahua等;
搜索相機:搜索當前連接的相機的型號;
選擇相機名稱:根據搜索到的相機型號選擇對應的型號;打開相機:手動打開相機,使相機能夠正常工作;
實時圖像:實時顯示當前相機視野范圍內的物體;
曝光和增益:調整相機的曝光值和增益值,使圖像能夠清晰成像;保存:將當前所有的參數設置保存到對應的文件中;
停止:使相機停止工作;
2.3二維碼
二維碼測試界面包括二維碼測試和二維碼參數2個板塊,如圖7所示。圖中綠色的拾取框為二維碼的邊緣,可以自動在視野范圍內搜索到二維碼的位置,檢測到二維碼的內容為1234567890,相機的像素為640*480,即30萬像素的黑白相機。二維碼測試主要是手動測試二維碼是否合格,以及顯示測試的二維碼內容,如圖7所示。二維碼參數主要是設置二維碼的類型(常用的有DataMatrix,MaxiCode,Aztec,QRCode,Vericode,PDF417,Ultracode,Code49,Code16K等)、條碼的極性(dark_on_light或者light_on_dark),以及設置超時時間,如圖8所示。
2.4OCR識別
OCR識別包括OCR識別、設置區域和OCR參數3個板塊。圖中綠色外框為設置的ROI區域,當設置的ROI區域越小,檢測的精度就會越高,出現誤判的幾率就會越小,同時因為檢測區域小,所以檢測速度非常快,能夠有效節省時間;紅色的小框為每一個字符的拾取框,會根據字符的大小和寬度自動分配;紅色的字符是顯示識別到的信息內容為97527,與要識別的字符一致。OCR識別界面主要是識別OCR字符,并顯示識別結果,如圖10所示。設置區域界面主要包括OCRROI和屏蔽區域。其中OCRROI主要是設置OCR識別的檢測區域;屏蔽區域是為了減少干擾而屏蔽一些外部多余的特征,保證檢測的精度和速度,如圖11所示。
OCR參數界面主要是ROI設置、ROI讀取、屏蔽數量。對應的選擇不同的ROI名稱,可以識別不同的模板特征,如圖12所示。
2.5匹配測試界面
匹配測試界面包括匹配測試、創建模板、模板參數、匹配參數4個板塊。其中綠色外框為拾取范圍,即相機會在設定好的拾取范圍內尋找設定的模板,同樣的要使拾取范圍盡可能小;藍色框為模板匹配區域,將當前模板為設定的匹配模板進行對比,按照閾值/匹配度來進行判斷,結果大于和等于閾值判定為OK,結果小于閾值判定為NG。圖中綠色字體為顯示信息,Result為檢測到的模板的坐標位置和角度;Score為得分閾值。
匹配測試界面主要是顯示檢測結果和檢測匹配度,如圖14所示。創建模板界面包括創建模板和設置ROI,其中創建模板是用來設置視覺抓取匹配所需的模板,設置ROI是設置視覺匹配的區域,如圖15所示。模板參數界面包括模板旋轉角度、模板最小對比度、金字塔層數、設定模板名稱。匹配參數界面包括匹配閾值、搜索角度、選擇模板。其中匹配閾值是用來設置合格和不合格之間的評判標準;搜索角度是在匹配過程中在一定的角度范圍內進行搜索,超過設定角度的物體視為NG;選擇模板是用來設置匹配模板的名稱,如圖17所示。
4.結語
上述軟件經測試效果良好。二維碼識別成功率較高,OCR字符識別對于印刷質量好的字符效果也不錯,但是對于字符質量不好的字符會出現誤判,這方面功能還需優化。和愛普生機器人配合的定位功能可以在軟件這一端完成標定,機器人端只需要接收世界坐標走位置即可。
中傳動網版權與免責聲明:
凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊
- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜