999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

圖像邊緣檢測器的FPGA實現

2017-05-30 10:48:04覃永新田玉曉陳文輝
廣西科技大學學報 2017年3期

覃永新 田玉曉 陳文輝

摘 要:提高圖像處理系統的處理速度,是當前圖像處理技術的主要目標之一,其中純硬件設計是一種越來越熱門的手段.本文介紹了一種采用FPGA芯片實現Sobel算法來獲取圖像中的邊緣像素的設計方法,圖像在經過預處理得到灰度信息后,通過幀窗口處理、計算Sobel算子、與閾值比較等處理,判斷出圖像中的每一個像素是否為邊緣像素,然后將邊緣檢測處理后的圖像顯示.系統采用50 MHz的時鐘,經仿真波形可以看出,處理完一幀數據需要4.8 ms,相對于DSP系統來說,系統的處理速度得到極大的提高.

關鍵詞:圖像處理;圖像邊緣檢測;Sobel算法;現場可編程門陣列

中圖分類號:TP 391.41 文獻標志碼:A

0 引言

圖像邊緣檢測是數字圖像處理、計算機視覺等技術的關鍵步驟[1].圖像邊緣檢測技術廣泛應用于工業檢測、圖像分割、運動檢測、人臉識別和目標跟蹤等領域[2].邊緣是指圖像的灰度值或者顏色發生劇烈變化的地方,能直接反映物體的輪廓和拓撲結構信息[3].邊緣檢測就是要檢測出圖像像素中這種變化的灰度的非連續性,同時確定這些像素在圖像中的精確位置并表示出來,這是從圖像進行后續處理的關鍵一步 [4].圖像處理通常采用DSP,DSP+FPGA等方式實現.近幾年,圖像處理技術的應用范圍也越來越廣,高性能的視覺檢測對數據處理設備的實時性提出了更嚴格的要求.隨著集成電路制造技術的高速發展,特別是可編程邏輯門陣列FPGA(Field Programmable Gate Array)的高速發展,為處理速度的提高提供了新的解決方法.在過去20年里產生了很多邊緣檢測算法,如Rorberts算子、Sobel算子、Prewitt算子、Laplacian算子、Canny算子等[5-6].由于Sobel算法只涉及加法操作,卻可以得到很好的劃分效果,因而是圖像處理系統中最常用的邊緣檢測算法.本設計利用FPGA芯片在并行高速數據處理方面的優勢,將Sobel算法分解得到的4個算子進行并行加法和比較等運算后,實現邊緣檢測,被標志為邊緣的像素的位置被精確記錄,并且可以在VGA顯示屏上顯示邊緣檢測后的圖像.由于此計算方法簡單易行、耗費芯片內部資源較少,同時又可以得到很好的檢測效果[7],本設計為之后的圖像處理技術打好基礎.

1 邊緣檢測Sobel算法

Sobel算法包括帶4個3×3掩碼的輸入圖像數據,即Sobel算子,設置權重來檢測水平、垂直、左對角、右對角各個不同方向上密度幅度的不同,這個過程叫做過濾.圖1是一個3×3的像素窗口,用于計算中心像素點Q4的4個算子.Q4坐標為[I, J],利用Q4點在其水平、垂直、左對角、右對角各圖像方向上的密度變化可以用如下4個算子進行計算:

水平算子 H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8) (1)

垂直算子 V=(Q0+2Q1+Q2)-(Q6+2Q7+Q8) (2)

右對角算子 DR=(Q1+2Q0+Q3)-(Q5+2Q8+Q7) (3)

左對角算子 DL=(Q1+2Q2+Q5)-(Q3+2Q6+Q7) (4)

H,V,DR,DL這4個參數用于計算梯度大小和方向,梯度的普遍估計值為Magnitude=MAX(H,V,DR,DL).Magnitude與區分度閾值Threshold比較,如果Magnitude>Threshold,則像素點被聲明為邊界像素,否則為一般像素.

2 基于FPGA的邊緣檢測系統的原理框圖

基于FPGA的邊緣檢測系統以ALTERA公司的FPGA芯片EP4CE6F17C8為核心器件,與圖像傳感器、片外寄存器和VGA接口顯示屏等外圍設備連接構成.圖像傳感器采用CCD攝像頭OV7670,30萬像素,輸出分辨率為640×480,像素時鐘最高達24 MHz;片外寄存器組由兩片IS61LV51216組成,VGA接口顯示器的分辨率為640×480.邊緣檢測系統的總體框圖如圖2所示.

從圖2中可以看出,基于FPGA進行邊緣檢測的過程分為3部分,即圖像信息的預處理、邊緣檢測以及存儲控制.FPGA首先通過I2C總線對OV7670進行模式設置,輸出數據為YCbCr 4∶2∶2格式(“Y”表示明亮度,也就是灰階值),從數據流中抽取Y分量;然后在邊緣檢測部分中,串行進入的Y灰度數據流經過幀窗口接收模塊的串并轉換處理,獲取3×3像素窗口所需的Q0~Q8這9個像素值,將之并行送入至Sobel計算模塊,計算出H,V,DR,DL 4個算子,再送入比較模塊后得到最大值Magnitude,進而與外部輸入的閾值Threshold進行比較,判斷其是否為邊緣像素.在存儲控制部分,讀寫控制器為了保證圖像數據顯示的實時性與連續性,通常采用乒乓切換模式對圖像數據進行讀寫操作,即將邊緣檢測處理后的數據寫入一片SRAM的同時,讀取另一片SRAM中已經寫滿的一幀處理后的圖像數據,送入產生VGA驅動信號的顯示控制模塊進行顯示.

3 邊緣檢測系統的模塊設計

3.1 預處理部分

攝像頭采集到的圖像信號在OV7670模塊中經過A/D轉換,得到標準的YCbCr制式的數字信號流.由于Sobel算法中只用到亮度Y分量,因此只將YCbCr中的Y分量進行提取.由于在YCbCr 4∶2∶2格式中有效像素數據流的格式為:Y0Cb0 Y1Cr0 Y2Cb2 Y3Cr2 Y4Cb4 Y5Cr4 …,利用像素時鐘Pclk的二分頻信號提取出一個Y像素,送入到FPGA中的LPM_FIFO中緩存.由于高速設備與慢速設備之間處理速度的差別,它們之間的數據傳輸一般采用查詢方式,存儲器的類型一般選用先進先出FIFO器件.這里采用3個深度為1 024的LPM_FIFO來緩存第一、第二、第三行的Y像素,存滿后對邊緣檢測模塊的寫信號wr發出高電平,進行幀窗口處理后的串并轉換以及邊緣檢測計算.預處理的工作方式是流水方式,即第一個窗口的數據處理完畢后,窗口向右滑動一個像素,每個時鐘滑動一格,直至最后一個像素,每個像素都遍歷這個3×3像素窗口;第一行所有的像素處理后,原來存儲第一行數據的LPM_FIFO被讀空;讀出的同時可以寫入第四行的像素數據.LPM_FIFO緩存第二、第三和第四行的Y像素數據,再次將每個窗口數據進行處理.

3.2 邊緣檢測部分Edge_Detection的設計

邊緣檢測部分的內部結構如圖3所示,輸入端口有:系統外部輸入的閾值Threshold[7..0],寫信號wr,像素灰度值Pix_in[7..0] ,系統時鐘端sysclk,系統異步復位端rst_n;輸出端口是邊緣像素信號Magout.邊緣檢測部分由幀窗口接收模塊Wid_9word,計算模塊Sobel_Filter和比較模塊Comparer構成.

3.2.1 幀窗口接收模塊Wid_9word

Wid_9word模塊接收串行進入的像素數據Pix_in[7:0],完成串并轉換和幀窗口轉換得到Q0至Q8(其中Q4不需要進入計算模塊).由于在預處理部分,已經按照3×3窗口的規則將數據串行讀出,則在這個模塊的設計里就是一個簡單的串并轉換,每9個時鐘就輸出一組新的窗口數據Q0至Q8,以保證Sobel算法中4個算子的連續的高速并行運算.

3.2.2 計算模塊Sobel_Filter和比較模塊Comparer

Sobel_Filter模塊實現Sobel檢測算法,并行進入的一個窗口的9個像素數據,根據式(1)—式(4),計算4個方向的圖像梯度數據絕對值H,V,DR,DL,然后進入比較模塊Comparer進行逐次比較得到最大值,再與閾值Threshold進行比較,如果大于閾值則判斷為邊緣像素,輸出1;否則輸出0.由于式(1)—式(4)可以采用如圖4所示的同一累加電路,因此可以使用流水線方式計算出這4個梯度的數值.比如第一組送入的數據是Q0,Q3,Q6,Q2,Q5,Q8,可以計算出水平算子H值;下一個時鐘脈沖送入第二組數據是Q0,Q1,Q2,Q6,Q7,Q8,可以計算出垂直算子V值;第三組數據是Q1,Q0,Q3,Q5,Q8,Q7,可以計算出右對角算子DR值;第四組數據是Q1,Q2,Q5,Q3,Q6,Q7,可以計算出左對角算子值DL;這4組數據呈流水線方式送入加法器后,總共花費了5個時鐘周期.但是此模塊經過編譯后,所消耗的邏輯單元的數量,對比直接使用并行加法的程序要少122個.

在比較模塊,通過對比得到4個算子里的最大值,再與閾值相比較.閾值的確定是通過很多次實驗后得到的一個擬合值.邊緣像素點顯示為白色,對一幀圖像的像素逐個計算后,就可以得到只顯示邊緣像素的黑白圖像,進而顯示出來.

3.3 存儲控制模塊

Magout輸出1 bit的數值,為了減少存儲空間,先將串行輸出值轉換為16 bit的雙字節數據,經過緩存再送入VGA顯示器.寄存器組由兩片可同時進行讀寫控制的隨機存儲器IS61LV51216構成,兩片SRAM芯片采用乒乓方式工作,將處理后的數據寫入其中一個SRAM的同時,讀取另一SRAM的數據至顯示控制模塊,寫滿一個SRAM或讀空另一個SRAM后切換兩個芯片的讀寫操作,如此循環下去[8].保證了圖像數據處理連續性,能夠滿足視頻數據高速實時處理的要求.

顯示控制模塊同時對VGA接口產生行場掃描的時序信號和傳送邊緣像素信號,然后采用逐行掃描的方式顯示圖像.

4 邊緣檢測系統的硬件測試及實時性分析

圖5(a)是一張未經處理的原圖,圖5(b)是經過Sober算子的邊緣檢測處理后的圖片.從圖5(b)中可以看出,在圖5(a)中符合邊緣特征的像素幾乎都被標示并顯示出來.

5 總結

邊緣檢測是圖像處理過程中首要的關鍵的一步,其處理速度的提高對整個圖像處理速度的影響很大.圖像數據處理一般情況都是基于PC機的軟件處理或DSP+FPGA來實現[9].但面對高清畫質和超大像素的要求提高,傳統方法已經越來越無能為力.DSP雖然具備指令流水線,但其處理速度還是受到限制[10].與40 MHz工作時鐘的6級流水的DSP相比,DSP處理器檢測一幅圖像所需的時間大約為1.4 s.由于在本設計中進行Y分量的抽取,而使得像素被處理的頻率變為12 MHz,處理完一幀640*480的圖像歷時26 μs,比DSP的處理速度多了大約兩個數量級.在邊緣檢測系統的頂層文件的編譯報告中,也可以看到FPGA內部資源的占用情況,如表1所示.因此,本文提出的基于FPGA實現的Sobel邊緣檢測方法,是一種高速、耗費資源少、高效的解決方案,可以滿足實際工程應用需要.

參考文獻

[1] ARBEL?魣EZ P, MAIRE M, FOWLKES C, et al. Contour detection and hierarchical image segmentation[J].IEEE Transactions on

Pattern Analysis and Machine Intelligence,2011,33(5):898-916.

[2] YANG Q Y, GAO X Y. Tracking on motion of small target based on edge detection[C].Proceedings of 2009 WRI World Congress on

Computer Science and Information Engineering. Los Angeles, California USA,2009.

[3] 曾俊.圖像邊緣檢測技術及其應用研究[D].武漢:華中科技大學,2011.

[4] 付麥霞,邢超,廉飛宇,等.基于FPGA的圖像邊緣檢測器的研究和設計[J].計算機技術與發展,2009,19(4):196-198.

[5] 俞昊,林川,譚光興,等.視覺注意機制與Canny算子結合的目標輪廓檢測方法[J].廣西科技大學學報,2016,27(2):87-92.

[6] 齊榕,齊敏,趙子巖,等.數字圖像邊緣檢測的FPGA實現[J].電子設計工程,2013,21(19):178-180.

[7] 官鑫,王黎,高曉蓉,等.圖像邊緣檢測Sobel算法的FPGA仿真與實現[J].現代電子技術,2009(8):109-111.

[8] 柯寶中.基于 FPGA的乒乓式存取高速數據采集通道設計[J].廣西科技大學學報,2015,26(1):43-48.

[9] 蔣煒華,萬留杰.基于 EDA 的圖像邊緣檢測器的設計研究[J].數字技術與應用,2011(9):84-85.

[10]杜正聰,寧龍飛.基于Sobel算法圖像邊緣檢測的FPGA實現[J].電子技術應用,2016,42(10):89-91,95.

The implementation of image edge detector based on FPGA

QIN Yong-xin, TIAN Yu-xiao, CHEN Wen-hui

(School of Electric and Information Engineering, Guangxi University of Science and

Technology, Liuzhou 545006, China)

Abstract: Accelerating the image processing is one of the main goals of the image processing technology, which can be implemented by constructing the image processing system with pure hardware. A practical method based on Sobel algorithm is introduced, in which the FPGA chip is exploited to detect the edge pixel in the image. The gray level data of each pixel in the image is read by pre-processing module firstly, and then is extracted by module of frame-window to transform into the module of Sobel algorithm. After the results of Sobel algorithm are compared with a threshold, it can be determined that whether this pixel is an edge-pixel or not. After the processing of edge detection, the image is shown on the screen ultimately. It only takes 4.8 ms to process one frame of image data when the system clock frequency is 50 MHz. The result of the hardware testing shows that using a FPGA chip to process the image is faster than using a DSP processor.

Key words: image processing; image edge detector; Sobel algorithm; field programmable gate array

(學科編輯:黎 婭)

主站蜘蛛池模板: 成人另类稀缺在线观看| 无码不卡的中文字幕视频| 久久国产高清视频| 久久精品人人做人人爽| 国产激情无码一区二区APP| 国产在线观看精品| 亚洲黄网视频| 黄色a一级视频| 一本色道久久88综合日韩精品| 国产精品入口麻豆| 嫩草国产在线| 亚洲av综合网| 成人福利在线视频| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲成人一区二区三区| 国产精品永久在线| 精品无码国产一区二区三区AV| 色成人综合| 欧美高清国产| 中文字幕日韩视频欧美一区| 亚洲综合精品第一页| 国产成人精品男人的天堂下载 | 国产H片无码不卡在线视频| 国产在线拍偷自揄观看视频网站| 日韩精品欧美国产在线| 亚洲第一色网站| 亚洲AV无码乱码在线观看裸奔| 高清欧美性猛交XXXX黑人猛交 | 久久99国产精品成人欧美| 亚洲日韩精品欧美中文字幕| 99在线国产| 久久伊人色| 中文字幕乱码中文乱码51精品| 久久精品一卡日本电影| 国产在线观看91精品亚瑟| 欧美综合区自拍亚洲综合绿色 | 亚洲浓毛av| 2018日日摸夜夜添狠狠躁| 国产亚洲精品97AA片在线播放| 成人午夜视频免费看欧美| 久久九九热视频| 一区二区三区在线不卡免费| 精品国产一区二区三区在线观看| 国产精品黑色丝袜的老师| 日本免费新一区视频| 国产成人AV男人的天堂| 91九色视频网| 国产日本欧美亚洲精品视| 亚洲综合中文字幕国产精品欧美 | 男女性色大片免费网站| 人妻丰满熟妇AV无码区| JIZZ亚洲国产| a欧美在线| 四虎成人免费毛片| 婷婷六月综合网| 99在线视频免费| 91成人试看福利体验区| 日本爱爱精品一区二区| 亚洲免费三区| 亚洲日韩AV无码一区二区三区人| 久久情精品国产品免费| 九九久久精品免费观看| 国产精品久久久久无码网站| 亚洲综合在线最大成人| 国产亚洲视频免费播放| 亚洲国产成人无码AV在线影院L| 91人人妻人人做人人爽男同| 亚洲福利片无码最新在线播放 | 真实国产乱子伦高清| 99久久国产综合精品2020| 91无码人妻精品一区| 亚洲成a人片在线观看88| 免费视频在线2021入口| 3344在线观看无码| 99精品免费在线| 亚洲经典在线中文字幕 | 久久人搡人人玩人妻精品一| 日本久久久久久免费网络| 中文字幕资源站| 国产视频一区二区在线观看 | 黄色片中文字幕| 91在线一9|永久视频在线|