邊緣圖像連通區域標記的算法研究和SoPC實(shí)現
圖1中,假設三個(gè)目標點(diǎn)的傳遞順序是P0到P5,P5再到P02,則P5就是走向拐點(diǎn)。
要改善連通性,可以增大搜索范圍,如增大到7×7范圍。這樣雖然在一定程度上改善了連通性,但是會(huì )引入更多的干擾點(diǎn)。而本文的思路是:首先按照上述8方向鄰域生長(cháng)算法搜索連通區域,同時(shí)記錄邊緣“端點(diǎn)”,然后通過(guò)比較各個(gè)區域的端點(diǎn),將端點(diǎn)較近的兩個(gè)區域合并。結合前文的分析,本文認為邊緣端點(diǎn)包括3類(lèi):區域起點(diǎn);邊緣末端;邊緣拐點(diǎn)。這樣得到的端點(diǎn)個(gè)數少,包含了絕大部分的“斷點(diǎn)”。通過(guò)不斷比較各個(gè)區域的端點(diǎn),相近則將區域合并,最終得到合并后的標記圖像。
該方法實(shí)質(zhì)上是在小尺度內搜索連通區,并利用得到的邊緣端點(diǎn)在大尺度內進(jìn)行區域合并,既不引入更多的雜點(diǎn),又改善了標記圖像的連通性,并在保證區域合并正確率的同時(shí),提高了合并效率。
2 區域標記及合并的SoPC實(shí)現
本文以FPGA為核心,利用SoPC技術(shù),實(shí)現了對320×240圖像的8方向生長(cháng)連通區域標記。系統使用FPGA邏輯硬件進(jìn)行邊緣檢測[3],使用NiosII軟核處理器進(jìn)行連通區域標記,用Avalon總線(xiàn)將兩者結合起來(lái),實(shí)現了硬件加速,軟硬件協(xié)同工作,既提高了實(shí)時(shí)性又保證了靈活性。
2.1 SoPC系統的結構設計
系統結構圖如圖3所示,主要模塊的功能簡(jiǎn)述如下:
(1)NiosII CPU模塊。該模塊是整個(gè)系統運算和調度的中心,完成系統工作流程的控制;圖像處理中區域標記和區域合并算法的實(shí)現;圖形用戶(hù)接口(GUI)的實(shí)現。
(2)Image模塊。圖像采集部分負責按照320×240大小采集攝像頭的數據,由DMA控制器通過(guò)Avalon總線(xiàn)將原始圖像數據存儲到DDR SDRAM中。邊緣檢測部分同步地將原始圖像數據邊緣化,生成邊緣圖像數據,并通過(guò)DMA控制器和Avalon總線(xiàn)存儲到DDR SDRAM中。
(3)Display模塊。負責驅動(dòng)LCD液晶顯示屏顯示原始圖像、標記圖像以及處理信息。本文引用地址:http://dyxdggzs.com/article/187479.htm
2.2 區域標記及合并的算法實(shí)現
圖像處理過(guò)程分為連通區域標記、區域合并和區域排序三步。
(1)連通區域標記:按照改進(jìn)后的8方向鄰域生長(cháng)算法進(jìn)行連通區域標記,為每個(gè)連通區分配一個(gè)鏈表數組元素,用鏈表記錄該連通區的目標點(diǎn)和端點(diǎn)。
(2)區域合并:逐個(gè)比較任意兩個(gè)連通區域的端點(diǎn)鏈表,在大尺度范圍內(本文采用9×9范圍),若其中有相鄰的端點(diǎn),則合并這兩個(gè)連通區。
(3)區域排序:按照目標點(diǎn)的個(gè)數,從大到小對合并后的連通區域排序,取前N個(gè)目標點(diǎn)數大于X的連通區域作為后續特征提取的對象(本文N的最大取值為10,X取值20),其余的視為干擾去掉。取形狀較大的N個(gè)連通區進(jìn)行下一步的特征提取,可以節省處理時(shí)間。
3 實(shí)驗結果及分析
本文使用Altera公司的高性?xún)r(jià)比CycloneIII系列的FPGA EP3C25F324C8。SoPC系統共用邏輯單元8916/24624(36%),寄存器5 415個(gè),引腳101個(gè),片內SRAM位數421 248/608 256(69%),內置乘法器4個(gè),PLL鎖相環(huán)1個(gè)。系統時(shí)鐘為100 MHz,NiosII軟核處理器的性能為113 DMIPS。
實(shí)驗結果如圖4所示。圖4(a)為實(shí)驗用開(kāi)發(fā)板和攝像頭,圖4(b)、(c)、(d)是不同圖像在LCD液晶屏上顯示的實(shí)驗結果。顯示分為三部分:左側上部為原始灰度圖像,大小為320×240;左側下部為標記圖像(不同區域由不同顏色顯示),大小為320×240;右側為處理信息,大小為480×480。處理信息包括:Connection Num為連通區域個(gè)數;Merge Num為合并后的區域數;Region Num為排序后的區域數;Process Time為圖像處理時(shí)間,單位為ms。
實(shí)驗結果表明,本文算法得出的標記圖像結果正確、邊緣清晰、去掉了雜點(diǎn)、提高了區域的連通性。在SoPC系統上實(shí)現時(shí),對復雜圖像的處理速度約30幀/s,滿(mǎn)足了實(shí)時(shí)性要求。
本文在SoPC系統中,將提出的基于目標像素鄰域的8方向生長(cháng)區域標記算法和基于邊緣端點(diǎn)的區域合并算法成功地予以實(shí)現。實(shí)驗結果表明了算法的有效性和實(shí)時(shí)性?;赟oPC技術(shù)的圖像處理系統,軟硬件協(xié)同工作,提高了系統的并行性和靈活性,便攜性好,成本低。
參考文獻
[1] HE Lifeng,CHAO Yuyan,SUZUKI K.Fast connected-component labeling[J].Pattern Recognition,2009,42(9):1977-1987.
[2] HU Qingmao,QIAN Guoyu.Fast connected-component labelling in three-dimensional binary images based on iterative recursion[J].Computer Vision and Image Understanding,2005,99(3):414-434.
[3] 謝昭莉,白穎杰.Prewitt圖像邊緣檢測及邊緣細化的FPGA實(shí)現[J].電子技術(shù)應用,2010,36(6):39-42.
評論