劉 佶
(山西職業(yè)技術(shù)學(xué)院,山西 太原 030006)
邊緣檢測(cè)是圖像處理當(dāng)中常用的處理過(guò)程,在人工智能領(lǐng)域的自動(dòng)駕駛、目標(biāo)識(shí)別中,在機(jī)械視覺(jué)領(lǐng)域中,在醫(yī)療領(lǐng)域中,都有著十分廣泛的應(yīng)用。例如,在醫(yī)學(xué)領(lǐng)域使用邊緣檢測(cè)可以從醫(yī)學(xué)影像中識(shí)別腫瘤[1-3]。但隨著圖像采集設(shè)備傳感器分辨率和幀率的不斷增加,圖像處理算法需要的運(yùn)算量越來(lái)越大,使得傳統(tǒng)的使用CPU來(lái)實(shí)現(xiàn)處理算法的方式逐漸不能滿足實(shí)時(shí)性的要求。FPGA很好解決了這一問(wèn)題,這得益于其內(nèi)部大量的乘法單元[4,5]。然而FPGA的開(kāi)發(fā)過(guò)程長(zhǎng),調(diào)試手段不夠豐富使得這種實(shí)現(xiàn)方式在面對(duì)規(guī)模龐大的工程時(shí)給開(kāi)發(fā)人員帶來(lái)了許多不便[6,7]。隨著HLS(High-level Synthesis)語(yǔ)言的問(wèn)世,開(kāi)發(fā)人員可以使用C/C++語(yǔ)言去實(shí)現(xiàn)算法功能,而用工具去實(shí)現(xiàn)優(yōu)化和綜合的過(guò)程,大大縮短了開(kāi)發(fā)周期。
邊緣檢測(cè)的實(shí)質(zhì)即尋找圖像像素值變化比較明顯的點(diǎn),可以使用梯度來(lái)進(jìn)行判斷。梯度的定義如下:
(1)
其中用到的偏導(dǎo)數(shù)定義如下:
(2)
(3)
梯度的模使用如下定義:
(4)
梯度的方向向量使用如下定義:
(5)
1959年,Julez首先研究了邊緣檢測(cè)。1963年,L.G.Roberts在此基礎(chǔ)上提出了Roberts算子,此算法是最早使用對(duì)角優(yōu)勢(shì)來(lái)處理邊緣信息的算法之一[8]。這種算法由于沒(méi)有對(duì)圖像進(jìn)行整體平滑的預(yù)處理,所以對(duì)噪聲較為敏感。對(duì)于信噪比低的區(qū)域,檢測(cè)出的邊緣會(huì)出現(xiàn)不清晰甚至模糊,但在高信噪比的區(qū)域,會(huì)有很好的清晰度[9]。

-1-2-100012101-1-202-101
在圖像處理時(shí),將算子作為移動(dòng)窗口……