激光掃碼pos機,激光探測器光斑質(zhì)心算法硬件設(shè)計

 新聞資訊  |   2023-04-25 09:59  |  投稿人:pos機之家

網(wǎng)上有很多關(guān)于激光掃碼pos機,激光探測器光斑質(zhì)心算法硬件設(shè)計的知識,也有很多人為大家解答關(guān)于激光掃碼pos機的問題,今天pos機之家(www.www690aa.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、激光掃碼pos機

激光掃碼pos機

李榮翠

(貴州大學(xué) 大數(shù)據(jù)信息與工程學(xué)院,貴州 貴陽550000)

針對計算機在接收工業(yè)高清相機通過圖像采集卡傳輸?shù)膱D像數(shù)據(jù)進行信號處理運算的低速與單一性,設(shè)計一款相機控制器,該控制器在設(shè)備端與相機通過Camera Link電纜連接,利用可編程邏輯(FPGA)進行圖像采集和算法實現(xiàn),將原先運行于計算機的算法移植到該設(shè)備中,處理完成的數(shù)據(jù)通過以太網(wǎng)發(fā)送給計算機。與原始方法相比,該方法充分利用了FPGA對信號的高速并行處理能力,能夠完成每秒300幀圖像傳輸?shù)耐瑫r,實時提取每幀圖像的質(zhì)心坐標供計算機使用,對計算機的配置不需高要求。該方法為控制接收多臺相機數(shù)據(jù)并同時進行信號處理提供了有效途徑。

相機控制器;算法;可編程邏輯;圖像

中圖分類號:TP391.8

文獻標識碼:A

DOI:10.16157/j.issn.0258-7998.172828

中文引用格式:李榮翠. 激光探測器光斑質(zhì)心算法硬件設(shè)計[J].電子技術(shù)應(yīng)用,2018,44(2):13-15,19.

英文引用格式:Li Rongcui. The hardware design of light spot center of mass algorithm for laser detector[J]. Application of Electronic Technique,2018,44(2):13-15,19.

0 引言

在一些姿態(tài)檢測的實際應(yīng)用中,需要在被測對象上安裝激光探測器[1],利用CCD相機捕捉激光光斑來檢測觀測對象的實際情況,光斑圖像質(zhì)心坐標的提取是圖像處理技術(shù)中常見的問題,激光的瞬時和高速性是激光光斑圖像的重要特征[2]。為了實時準確地獲取激光光斑質(zhì)心的坐標,相機要求以300幀每秒的速度進行采集。原設(shè)備原始應(yīng)用場景為工業(yè)高清相機通過專用Camera Link電纜連接圖像采集卡,圖像采集卡插入計算機內(nèi)部,計算機接收圖像數(shù)據(jù)后進行信號處理運算,質(zhì)心算法的實現(xiàn)在計算機上完成[3]。本文通過對原設(shè)備的結(jié)構(gòu)進行優(yōu)化,將算法部分移植到硬件環(huán)境中形成相機控制器,使得攝像機與計算機可以遠距離部署,一臺計算機可以控制和接收多臺相機數(shù)據(jù)并同時進行信號處理,并且對計算機的配置要求較低,有靈活的擴展性。在質(zhì)心算法研究方面,將計算機軟件實現(xiàn)的算法用硬件描述語言Verilog設(shè)計實現(xiàn),獲取激光光斑的實時質(zhì)心坐標。

1 CCD采集圖像質(zhì)心算法

激光探測器形成的激光光斑在CCD表面的光強分布可以看作以中心對稱的高斯分布[4],所以在激光光斑質(zhì)心坐標算法中,可以用光斑光亮的最強點作為激光光斑的質(zhì)心坐標,對于CCD數(shù)字視頻信號來說就是灰度值最大的那一點的坐標值[5]。具體算法如下:

第一步:噪聲采集。假設(shè)圖像x方向與y方向分別有m與n個像素點。在無激光照射CCD情況下采集N幅圖(N理論上越多越好,實際N值手動可設(shè)即可),databuffa[m][n]為第a幅圖的數(shù)據(jù)。對N幅圖進行求均方根,即可得到噪聲數(shù)據(jù)。

第二步:去噪聲。此時開始進行激光光斑的采集,CCD所采集的每幅圖數(shù)據(jù)為h[m][n],進行去噪聲處理,將CCD所采集的數(shù)據(jù)與采集算好的噪聲相減。如果低于最小灰度值0則為0;如果高于最大灰度值255則為255。

第三步:去一定比例的最大灰度值,比例系數(shù)為p。此時經(jīng)過去噪聲的圖像數(shù)據(jù)h[i][j]還具有一定的干擾,采用閾值去掉干擾,閾值為最大灰度值的比例數(shù)。首先尋找圖像的最大灰度值,然后進行去掉閾值。

第四步:進行質(zhì)心計算。CCD所采集圖像質(zhì)心即圖像灰度的重心,i與j分別為兩個方向的坐標,g[i][j]為像素點(i,j)坐標的灰度值,則圖像質(zhì)心位置坐標為:

式中x、y即為圖像質(zhì)心的坐標。

2 基于FPGA的圖像質(zhì)心算法

FPGA的特點是數(shù)字邏輯的思維與并行的處理方式。FPGA的并行處理能力使得它有著更高的處理速度,讓人們更青睞于這種可編程邏輯方式去實現(xiàn)所需要的算法。本文的目的是將CCD采集圖像質(zhì)心算法用可編程邏輯Verilog語言去實現(xiàn)所需算法,為了實現(xiàn)上述算法,需要對算法進行必要的改造。

第一步:噪聲均方根的采集實現(xiàn)。對于數(shù)字邏輯中只有0和1之分,灰度圖像的顏色由8位二進制來表示,故灰度顏色由0~255這256個數(shù)據(jù)來表示。故這里不需對根號內(nèi)數(shù)據(jù)進行開方,而是直接根據(jù)根號下的數(shù)據(jù)即可算出均方根的結(jié)果,因為這里的結(jié)果都是四舍五入后的整數(shù)。

第二步:去噪聲的實現(xiàn)。此算法可直接用可編程邏輯實現(xiàn),與原算法一致。

第三步:去一定比例的最大灰度值中比例數(shù)p是一個0~1之間的小數(shù),在實際應(yīng)用中小數(shù)可以通過浮點數(shù)的方法來表示,浮點數(shù)的表示有32位與64位的表示方法。所以本文的設(shè)計方法是將0~1的數(shù)與0~100的數(shù)字一一對應(yīng),在后續(xù)再轉(zhuǎn)換縮回比例,求出數(shù)據(jù)。例如0.16對應(yīng)整數(shù)16,這樣只需要7位二進制數(shù)即可表示,節(jié)省了寄存器占用的空間,利于算法的實現(xiàn)。

第四步:質(zhì)心計算的實現(xiàn)。第三步中的質(zhì)心計算的算法方式由于求矩陣過程復(fù)雜,運算量大,不適用于可編程邏輯方式,為此將此算法進行了轉(zhuǎn)換。一種基于函數(shù)轉(zhuǎn)換的快速搜素質(zhì)心算法,利用目標質(zhì)心與目標上所有各點間距離之和值最小的原理,快速求出質(zhì)心。此算法適用于灰度圖像,對灰度圖像求質(zhì)心具有廣泛的用途與實際的意義。應(yīng)用此算法后,n個乘法轉(zhuǎn)換成了1個乘法,便于Verilog語言去實現(xiàn)。

3 仿真結(jié)果與分析

將改進后的算法應(yīng)用到可編程邏輯Verilog語言中后,實現(xiàn)了光斑質(zhì)心算法的功能并能夠?qū)崟r求出質(zhì)心的坐標。通過上位機選擇需要算出的N幅圖得到的噪聲系數(shù),將求出的噪聲系數(shù)存入RAM中,當激光照射后讀出RAM中存儲的噪聲系數(shù)值即可。本設(shè)計包括噪聲系數(shù)模塊,去噪聲模塊與質(zhì)心坐標算法3個模塊。圖1為光斑質(zhì)心算法的總體架構(gòu)圖。

噪聲系數(shù)模塊:初始化后檢測ready信號,ready拉高表示外部輸入已經(jīng)準備好可以接收數(shù)據(jù),可保證在一幀圖像數(shù)據(jù)內(nèi)的連續(xù)性。在準備好后等待pulse_in信號的到來,pulse_in為脈沖信號,當接收到此信號時表示通知模塊需要計算噪聲系數(shù)。pixel_num為像素值選擇, frame_num為幀數(shù)選擇,范圍是0~131 072。data_in為輸入的圖像數(shù)據(jù)8位灰度值,noise_req為噪聲系數(shù)輸入數(shù)據(jù)請求信號,當此信號拉高后,輸入信號data_in在下一拍輸入數(shù)據(jù)。noise_done為噪聲系數(shù)計算完成信號,當計算結(jié)束并沒有接收到重新計算信號pulse_in時,noise_done一直拉高來表示噪聲系數(shù)模塊處理完成。在noise_done高電平期間,輸入來自去噪聲模塊的地址信號addr_in,即可讀出RAN中對應(yīng)地址的數(shù)據(jù)databuffnoise。

去噪聲模塊:在noise_done高電平期間可啟動去噪聲模塊。read_en為脈沖信號,一個脈沖可接收一幀圖像數(shù)據(jù)。proportion信號是上位機發(fā)來的比例系數(shù),范圍在0~100之間,表示0~1之間的數(shù)。在接收到read_en脈沖信號后,發(fā)出數(shù)據(jù)請求信號data_req,data_req拉高后輸入dec_in數(shù)據(jù)信號,由于需要求出一幀圖像的最大圖像數(shù)據(jù),所以會有一幀圖像的延遲,當輸出圖像數(shù)據(jù)有效data_valid信號拉高時,輸出去噪后有效的pixel_data數(shù)據(jù),在data_valid信號拉高后輸出的pixel_data數(shù)據(jù)會傳到質(zhì)心算法模塊中進行計算。圖2為去噪模塊仿真結(jié)果。

質(zhì)心坐標算法模塊:輸入的request_in信號是去噪聲模塊的輸出信號data_valid,在request_in信號有效時,輸入的數(shù)據(jù)gravity_in信號有效,與去噪模塊的輸出數(shù)據(jù)信號pixel_data線性連接。在信號請求輸出req_out高脈沖同時輸出質(zhì)心坐標xy_pos信號,輸出的x、y坐標都是10位二進制數(shù)表示,根據(jù)需求以32位xy_pos信號輸出,高25~16位填充x坐標,9~0位填充y坐標,其他填充0。通過各個模塊的驗證可看出算法符合基本要求, 最后得到如圖3所示的3個模塊整體的頂層模塊仿真結(jié)果圖。

將此算法用C++在VS2012上運行并驗證質(zhì)心坐標是否正確,輸入相同輸入數(shù)據(jù),驗證結(jié)果如圖4所示。

通過分析和仿真驗證了設(shè)計的正確性,CCD圖像質(zhì)心算法被很好地應(yīng)用到可編程邏輯語言中,F(xiàn)PGA的高速并行優(yōu)點使得算法可以達到流水線高速運行,由于相機的圖像采集速度可達到每秒300幀,為了符合這樣的高速采集能力,本文采用了流水線算法可實時算出質(zhì)心坐標供上位機采集和使用。

4 結(jié)論

本文所設(shè)計的光斑質(zhì)心定位算法是基于實際應(yīng)用的激光探測器相機控制器的算法實現(xiàn)部分,該算法的實現(xiàn)使得攝像機與計算機可以遠距離部署,將復(fù)雜算法的運算量交給控制器去處理,減輕了計算機的工作量去處理更重要的事情。該方法適用于有一定存儲空間的FPGA芯片去實現(xiàn),注重高速與實時性,對工業(yè)高清相機這種高精度要求的應(yīng)用有一定的實用價值。

參考文獻

[1] 肖鋒鋼,劉建國,曾淙泳,等.一種新型提高光斑圖像質(zhì)心精度的去噪方法[J].計算機應(yīng)用研究,2008,25(12):3683-3685.

[2] 樊巧云,張廣軍.離散噪聲圖像的光斑質(zhì)心算法及其硬件實現(xiàn)[J].光學(xué)精密工程,2011,19(12):2992-2993.

[3] 張海莊,孟智勇,丁帥,等.CCD攝像法采集激光光斑圖像方法研究[J].光學(xué)與光電技術(shù),2013,11(10):33-35.

[4] 張秋佳,趙玉華.基于加權(quán)插值算法的激光光斑中心檢測[J].激光與紅外,2016,46(1):81-84.

[5] 王冰,職秦川,張仲選,等.灰度圖像質(zhì)心快速算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2004,16(10):1360-1362.

以上就是關(guān)于激光掃碼pos機,激光探測器光斑質(zhì)心算法硬件設(shè)計的知識,后面我們會繼續(xù)為大家整理關(guān)于激光掃碼pos機的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.www690aa.com/news/33436.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。