馬晨,韓團軍,潘玉樺,閔一
(陜西理工大學,陜西 漢中 723000)
由于激光具有亮度高、方向性好等優(yōu)點已經被廣泛應用于高精度測量。激光測距技術在國防建設、工業(yè)自動化、智能識別及汽車工業(yè)等領域已經成為科研人員的研究重點?,F(xiàn)有的激光測量系統(tǒng)集成度不高、體積較大而且在測量顯示會出現(xiàn)和真值有誤差等缺點[1-2]。設計一款零誤差,體積和功耗小的視覺識別的高精度激光控制系統(tǒng)顯得尤為重要。
本文提出一種視覺識別的高精度激光控制系統(tǒng),系統(tǒng)由攝像頭模塊、激光傳感器模塊、串口模塊以及數(shù)據(jù)存儲模塊組成,通過攝像頭識別激光傳感器LED屏幕上的數(shù)字量再通過圖像采集、圖像識別與處理以及無線傳輸技術實現(xiàn)了一款測量控制系統(tǒng)關于距離的零誤差測量。利用單片機控制攝像頭,采集激光測距儀上的圖像數(shù)據(jù),并將所采集到的圖像信息傳送到單片機內進行處理,單片機將采集回來的彩色圖像經過灰度化、二值化處理將圖像顏色變?yōu)楹诎變煞N顏色。之后通過圖像分割及圖像識別技術將圖像中的數(shù)字信息提取出來,利用無線傳輸模塊,將識別到的數(shù)字信息發(fā)送到PC或移動端。整個系統(tǒng)設計能夠充分利用攝像頭的識別功能,最終能精確得到測量的距離。系統(tǒng)適用于靜止、低速和中高速控制激光測距系統(tǒng)領域,具有很高的應用價值[3]。
整個系統(tǒng)硬件主要由攝像頭模塊、激光傳感器模塊、串口模塊以及數(shù)據(jù)存儲模塊組成。其中攝像頭用來識別激光傳感器上LED屏上的數(shù)字量,并通過串口模塊遠程傳輸?shù)接嬎銠C客戶端實現(xiàn)測距信息的實時顯示,而數(shù)據(jù)存儲模塊負責保存程序代碼、攝像頭采集到的圖像。使用Python語言進行程序編寫,同時使用Openmv和一些圖像處理函數(shù)以此來提高系統(tǒng)工作效率。系統(tǒng)的整體框圖如圖1所示:
圖1 系統(tǒng)的整體框圖
采用0V7725進行圖像采集,0V7725具有小型化、耗能低等特點。其內部集成了數(shù)字圖像處理器,可對原始圖像先進行處理再輸出,同時擁有單片VGA攝像頭的全部功能。OV7725攝像頭可以通過IIC總線進行控制,通過設置攝像頭可以輸出整幀圖像、整幀圖像中的任意矩形區(qū)域、子采樣圖像等各種用戶所需的圖像數(shù)據(jù),同時還可以對分辨率進行控制,在VGA格式下圖像最高幀數(shù)可達60幀秒。可以通過IIC總線進行設置。OV7725圖像傳感器模塊設計圖如圖2所示。
圖2 OV7725圖像傳感器模塊設計圖
由于激光傳感器上數(shù)字圖像的數(shù)據(jù)量大,單片機內存無法完成對激光傳感器上圖像的識別、存儲和處理,因此要在外圍電路上拓展數(shù)據(jù)存儲模塊,通過數(shù)據(jù)存儲模塊實現(xiàn)對圖像的識別、存儲和處理。采用SD卡作為圖像數(shù)據(jù)存儲器,與單片機進行通信方面選擇SIO模式。其接口電路如圖3所示:
圖3 SD卡接口電路圖
整個系統(tǒng)軟件設計分為單片機采集激光器圖像、圖像識別及處理、無線傳輸這三大部分。系統(tǒng)軟件總體框架,程序運行是從系統(tǒng)的初始化開始的,系統(tǒng)初始化完成后,單片機圖像采集程序開始工作,采集完成后將圖像保存到SD卡中。之后單片機對圖像進行處理與識別,隨后將得到的數(shù)字通過藍牙模塊傳送到PC端。系統(tǒng)軟件總框圖如圖4所示。
圖4 系統(tǒng)軟件總框圖
圖像采集部分子程序是攝像頭首先需要外接一個系統(tǒng)時鐘,通過IIC總線設置相關寄存器輸出分辨率為640*480的圖像數(shù)據(jù),然后逐行逐列輸出像素灰度值。主控芯片根據(jù)同步信號讀取像素灰度值。OV7725攝像頭默認情況下,分辨率為640*480,為了在不降低圖像分辨率的情況且還能去掉大量無用信息,先將圖像中有數(shù)字的部分提取出來再進行處理。時序信號控制單片機對0V7725攝像頭進行信號采集。過程為場信號使用捕捉上升沿的方式讀取。單片機檢測到場同步信號的上升沿時,程序進入讀取像素值子程序;對行信號使用中斷方式讀取。單片機檢測到行同步信號時,產生外部中斷,進入中斷服務子程序,讀取本行的圖像信號;對像素信號采用捕捉下降沿的方式讀取。當單片機檢測到像素同步信號的下跳沿時,單片機開始讀取相應的像素值并將像素值存儲到SD卡中。
圖像識別具體可分為圖像預處理、數(shù)字區(qū)域分割、數(shù)字字符匹配三大部分。圖像預處理的作用是濾除噪聲增強圖像信息,數(shù)字區(qū)域分割的作用是將單個數(shù)字所在區(qū)域從圖像中分割出來,數(shù)字字符匹配的作用是將每個分割出來的矩形區(qū)域進行特征提取,將提取到的特征與已知數(shù)字特征進行對比,從而判斷圖像區(qū)域中的數(shù)字字符量。圖像預處理需要經過圖像矯正、高斯濾波、二值化以及濾波等步驟,得到質量較好的圖像。
整個系統(tǒng)通過軟硬件設計完成了產品設計,在測試過程中,首先攝像頭得到激光傳感器穩(wěn)定時的圖像,用SD卡保存后利用圖像處理算法對其進行區(qū)域分割,得到每個數(shù)字的區(qū)域位置坐標帶入圖像識別算法中。然后,通過改變激光傳感器與被測物體間的距離,使激光傳感器上的數(shù)值不斷改變,經藍牙發(fā)送給計算機終端,終端利用上位機實時顯示激光傳感器的改變,達到系統(tǒng)零誤差距離測量的設計目的。顯示結果如圖5所示:
圖5 系統(tǒng)的顯示結果
本文實現(xiàn)了一種視覺識別的高精度激光控制系統(tǒng),通過攝像頭對圖像進行采集加上圖像處理、圖形分割、圖像識別等一系列數(shù)字圖像處理算法。并基于圖像特征引入“穿線匹配法”對7段數(shù)碼管進行識別,大大簡化了圖像識別算法的復雜性,同時又提高了圖像處理算法的時效性。設計所采用的方法打破了這樣的局限性,同時還提高了系統(tǒng)的實時性和準確性。通過測試,整個系統(tǒng)測量結果的穩(wěn)定性和精確性非常高,因此具有一定的實用推廣價值。