《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > Canny算法的改進及FPGA實現

Canny算法的改進及FPGA實現

2008-11-05
作者:馮 柳,高曉蓉

  摘? 要: 通過對傳統Canny邊緣檢測" title="邊緣檢測">邊緣檢測算法的分析提出了相應的改進方法。通過模板代替卷積、適當的近似變換、充分利用并行處理單元等使其能夠用FPGA實現。

  關鍵詞: Canny算子;高斯" title="高斯">高斯濾波;非極大值抑制" title="非極大值抑制">非極大值抑制;雙閾值;FPGA?

?

??? Canny邊緣檢測算法" title="邊緣檢測算法">邊緣檢測算法具有良好的信噪比和檢測精度,因此在圖像處理領域被廣泛采用。但由于其計算量巨大,實時性較差,而且軟件處理的設備體積較大,所以不適合實時檢測。本文對原始Canny算法進行了分析、改進,并在FPGA中實現。實驗證明新算法能滿足實時性要求,而且檢測精度和抗噪能力也較理想。

1 Canny邊緣檢測算法的基本原理

1.1 平滑圖像

  Canny邊緣檢測算法是高斯函數的一階導數,是對信噪比與定位精度之乘積的最優化逼近算子。Canny算法首先用二維高斯函數的一階導數對圖像進行平滑[1]。設二維高斯函數為:

  

  其梯度矢量為:

  

  用分解的方法提高速度,把ΔG的2個濾波卷積模板分解為2個一維的行列濾波器:

  

  其中,k為常數,σ為高斯濾波器參數,它控制著平滑程度。對于σ小的濾波器,雖然定位精度高,但信噪比低;σ大的情況則相反。因此要根據需要適當地選取高斯濾波器參數σ。

1.2 計算梯度的幅值和方向

  傳統Canny算法采用2×2鄰域一階偏導的有限差分來計算平滑后的數據陣列I(x,y)的梯度幅值和梯度方向。其中,x和y方向偏導數的2個陣列Px[i,j]和Py[i,j]分別為:

  

  像素的梯度幅值和梯度方向用直角坐標到極坐標的坐標轉化公式計算,用二階范數來計算梯度幅值為:

  

  梯度方向為:

???

1.3 對梯度幅值進行非極大值抑制

  為了精確定位邊緣,必須細化梯度幅值圖像M[i,j]中的屋脊帶,只保留幅值局部變化最大的點,這一過程就是非極大值抑制。在非極大值抑制過程中,Canny算法使用3×3大小,包含8方向的鄰域對梯度幅值陣列M[i,j]的所有像素沿梯度方向進行梯度幅值的插值。在每一個點上,鄰域的中心像素m[i,j]與沿梯度方向的2個梯度幅值的插值結果進行比較。ζ[i,j]是像素鄰域中心處沿著梯度方向的扇形區域,非極大值抑制在此區域進行。如果鄰域中心點的幅值m[i,j]不比梯度方向上的2個插值結果大,則將m[i,j]對應的邊緣標志位賦值為0,這一過程把M[i,j]寬屋脊帶細化為一個像素寬,并且保留了屋脊的梯度幅值。非極大值抑制NMS(non-maxima suppression)過程的數學表示為:

  

1.4 檢測和連接邊緣

  雙閾值算法是對經過非極大值抑制圖像N[i,j]分別使用高、低2個閾值th和tl分割,得到2個閾值邊緣圖像Th[i,j]和Tl[i,j]。由于圖像Th[i,j]是由高閾值得到,因此它應該不含有假邊緣,但Th[i,j]可能在輪廓上有間斷。因此雙閾值算法要在Th[i,j]中把邊緣連接成輪廓,當達到輪廓端點時,該算法就在由低閾值得到的邊緣圖像Tl[i,j]的8鄰域位置尋找可以連接到輪廓上的邊緣。這樣,利用遞歸跟蹤的算法不斷地在Tl[i,j]中搜集邊緣,直到將Th[i,j]中所有的間隙都連接起來為止。

2 算法的改進

  傳統Canny算子在2×2的鄰域內求有限差分均值來計算梯度幅值的算法[2],對邊緣的定位比較準確,但對噪聲過于敏感,容易檢測出假邊緣和丟失一些真實邊緣的細節部分。針對傳統Canny算法在梯度幅值計算上的缺陷,提出了一種在像素8鄰域內通過計算x方向、y方向、135°方向、45°方向一階偏導數有限差分來確定像素梯度幅值的方法。這種方法兼顧了梯度幅值計算中,邊緣定位準確和抑制噪聲的要求,在試驗中取得了很好的效果。具體算法如下:

  

  像素的梯度幅值和梯度方向用直角坐標到極坐標的坐標轉化公式來計算,用二階范數來計算梯度幅值為:

  

  另外,傳統算法中的邊緣連接采取的是遞歸方法,不適合硬件實現" title="硬件實現">硬件實現,因此本文只進行了一次連接。其他改進具體體現在硬件實現的過程中,如用模板代替卷積, 加減法代替小數乘除等。

3 改進算法及FPGA實現

  根據以上的數學推導及分析,得到Canny 邊緣檢測用FPGA實現的流程圖,如圖1所示。

?

?

3.1 高斯濾波

  根據具體情況選擇適當的σ,為了便于硬件實現可以采用模板來代替卷積運算。本文選擇圖2所示的模板,其中的乘除法系數都是2n的形式,因此可以用移位的方式實現,這避免了乘除法運算帶來的時間與資源的消耗。計算中多次用到中心點的8鄰域的值,因此設計了窗口形成模塊,以便同時得到某個像素點的8鄰域的值。原理圖如圖3所示。

?

?

  行延遲和列延遲分別由FIFO和寄存器完成,其中FIFO的深度等于圖像的列數。

3.2 梯度計算

  經過高斯濾波模塊的數據再通過窗口形成模塊,得到3×3鄰域,然后按照式15,計算梯度的幅值。

  梯度方向計算:根據8連通區域,量化邊緣方向。首先將梯度角度的變化范圍減小到圓周的1/8扇區。如圖4所示,以0°、45°、90°、135°等為中心角度:每個方向包含±22.5°,根據Px Py的比值及正負確定其所在方向的區域范圍,其方向定義為中心角度的方向。對于整個坐標系而言,梯度向量共分為8類,但是對于非局部最大值抑制的實現,利用中心對稱原理,只需要4個方向,如圖5所示。

?

?

  當|Py/Px|>tg22.5°,即梯度方向在0和180兩個扇區內,則將其方向用0表示;

  當tg22.5°<|Py/Px|>tg67.5°且Px/Py>0,即梯度方向在45°和225°兩個扇區內,則將其方向用1表示;

  當|Py/Px|>tg67.5°即梯度方向在90°和270°兩個扇區內,則將其方向用2表示;

  當tg22.5°<|Py/Px|>tg67.5°且Px/Py>0,即梯度135°和315°兩個扇區內,則將其方向用3表示。

  進行方向計算時,需要計算tg22.5°和tg67.5°。在硬件設計中采用簡化和近似的方法來實現。

  tg22.5°≈0.4375=1/2-1/16

??? tg67.5°≈2.5=2+1/2

??? 這樣就可以用簡單的移位和加減運算代替復雜的小數乘法運算,而在實際的數字圖像處理中,近似引入的誤差是允許的[3]。再利用比較器和編碼器就可以完成方向判斷。

3.3 閾值計算

  閾值選取基于梯度直方圖,所以先統計梯度直方圖[4]。以256×256×8bit的圖為例,基于雙端口RAM(hist_buffer)及其控制器完成。經計算存儲器寬度為16bit,深度為1 024。當有梯度值輸入時,RAM中相應地址的內容被讀出來,加1后再存入該地址。如此進行下去,直到整幅圖像掃描完畢,得到梯度的直方圖。按照地址從小到大的順序依次累加RAM中的值,當累加和不小于圖像總像素的80%時,輸出對應的地址,即為Th, 而Tl則由Th右移一位得到,如圖6所示。

?

?

3.4 非最大值抑制值抑制及邊緣檢測

  本文采取將強弱邊緣檢測同時進行,并且在邊緣檢測之前形成窗口,這樣就避免了后續考慮同步的問題,節省了存儲單元。圖7為原理圖,其中粗線表示同時輸出9個值。

?

?

4 實驗結果

  圖8依次是原圖、軟件處理結果圖和硬件處理結果圖。實驗結果表明本算法可以得到較準確的邊緣。

?

?

  本文通過對傳統Canny算子的分析,結合硬件實現的特點對算法進行了改進,并在FPGA上實現,結果表明該算法可以得到預期的邊緣。但仍存在一些問題,如閾值的選取雖然可以通過直方圖統計自動獲得,但該閾值仍缺乏自適應性;邊緣連接未采用遞歸跟蹤,因此連續性有待改進。

?

參考文獻

[1] 賈云得.機器視覺.北京:科學出版社,2000.

[2] 王植.一種基于Canny理論的自適應邊緣檢測方法.中國圖像圖形學報,2004,(8).

[3] 韋海萍.Canny算法的改進及其硬件實現.光學技術,2006,32(2).

[4] 楊光宇.一種基于FPGA的實時直方圖統計方法.機電工程,2001,24(4).

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产喷白浆一区二区三区| 国产午夜亚洲精品理论片色戒| 日韩小视频在线观看专区| 精品动漫一区| 日韩视频永久免费观看| 午夜宅男久久久| 午夜精品理论片| 久久视频一区二区| 亚洲激情一区二区三区| 亚洲激情中文1区| 亚洲国产精品成人精品| 免费在线一区二区| 亚洲国内欧美| 老色鬼久久亚洲一区二区| 欧美一区二区三区喷汁尤物| 亚洲国产精品日韩| 欧美黑人多人双交| 国产一区二区精品| 国产亚洲va综合人人澡精品| 国产精品地址| 国产资源精品在线观看| 亚洲综合视频1区| 精品盗摄一区二区三区| 国一区二区在线观看| 国产精品尤物| 黄色国产精品| 国产视频不卡| 亚洲午夜激情| 欧美中文字幕| 国产精品久久国产愉拍| 另类酷文…触手系列精品集v1小说| 狂野欧美激情性xxxx欧美| 亚洲精品国产无天堂网2021| 亚洲一区二区在线免费观看| 亚洲人成网站999久久久综合| 精品动漫3d一区二区三区免费| 国产免费成人| 久久综合导航| 国产精品av一区二区| 欧美日韩一区二区在线观看| 在线视频一区观看| 国产在线精品一区二区夜色| 亚洲一区久久久| 午夜精品视频在线| 国产亚洲一区二区精品| 黄色国产精品一区二区三区| 亚洲一级黄色片| 欧美性大战久久久久久久蜜臀| 欧美一二三视频| 国产欧美精品在线播放| 性欧美办公室18xxxxhd| 国产精品激情偷乱一区二区∴| 鲁大师影院一区二区三区| 久久精品人人做人人爽| 亚洲天堂av电影| 最新国产精品拍自在线播放| 欧美精品一区二区在线播放| 亚洲一区二区三区高清不卡| 国产偷久久久精品专区| 国产精品一区二区久久久久| 欧美成人免费网| 欧美精品久久久久久久| 国产三区二区一区久久| 久久国产一区二区| 久久九九精品99国产精品| 老司机免费视频一区二区三区| 美日韩精品视频| 久久精品国产免费看久久精品| 国产精品电影观看| 欧美日韩精品综合在线| 欧美人与禽猛交乱配视频| 亚洲免费精品| 宅男噜噜噜66一区二区66| 最新高清无码专区| 国产日产精品一区二区三区四区的观看方式| 亚洲二区精品| 亚洲一区免费观看| 欧美久久久久| 亚洲午夜三级在线| 在线观看欧美激情| 久久大香伊蕉在人线观看热2| 麻豆av福利av久久av| 99综合精品| 国产模特精品视频久久久久| 久久久久久穴| 在线性视频日韩欧美| 日韩视频二区| 欧美精品麻豆| 欧美日韩国产精品专区| 国产亚洲精品高潮| 亚洲一区二区三区成人在线视频精品| 国产亚洲视频在线观看| 国产日韩精品久久| 亚洲欧美一区二区三区极速播放| 极品中文字幕一区| 中文网丁香综合网| 欧美一区二区三区久久精品| 久久久青草婷婷精品综合日韩| 午夜在线电影亚洲一区| 欧美三级视频| 亚洲一二三级电影| 国产综合香蕉五月婷在线| 麻豆精品国产91久久久久久| 国产精品日韩在线观看| 欧美专区在线| 亚洲一区二区在线播放| 9色精品在线| 欧美激情亚洲自拍| 亚洲欧洲一区二区三区| 亚洲你懂的在线视频| 久久久久久一区| 日韩一区二区精品视频| 欧美成人精品在线视频| 欧美日韩亚洲天堂| 国产自产在线视频一区| 国产日韩av在线播放| 狠狠做深爱婷婷久久综合一区| 亚洲欧美日韩综合aⅴ视频| 一道本一区二区| 亚洲精品一区二区网址| 欧美成人资源网| 亚洲精品孕妇| 国产精品日本| 午夜在线一区| 女主播福利一区| 欧美日韩精品一区二区三区四区| 欧美在线视频日韩| 国产精品免费区二区三区观看| 亚洲福利电影| 亚洲电影免费| 亚洲一区二区三区在线观看视频| 午夜在线成人av| 国产精品视频不卡| 国产精品成人aaaaa网站| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美亚洲视频| 亚洲日本va午夜在线电影| 国产精品高潮呻吟| 欧美精品一区在线播放| 国产亚洲精品久久久久动| 国产精品久久久久久久7电影| 亚洲午夜在线观看| 一本大道久久精品懂色aⅴ| 欧美日韩在线播放| 精品成人a区在线观看| 中日韩视频在线观看| 激情一区二区| 欧美高清视频一二三区| 国产女同一区二区| 国产精品夜夜夜一区二区三区尤| 久久国产精品99国产| 欧美一区二区三区在线播放| 免费成人高清视频| 欧美一区二区三区免费观看视频| 欧美日韩一区二区在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 国内成+人亚洲+欧美+综合在线| 欧美激情一区二区| 久久国产欧美日韩精品| 欧美v日韩v国产v| 欧美日韩在线另类| 亚洲香蕉在线观看| 国产一区二区三区奇米久涩| 亚洲精品日韩精品| 在线日韩av片| 久久久久久69| 黄色av成人| 在线视频你懂得一区二区三区| 亚洲欧美久久久久一区二区三区| 亚洲丁香婷深爱综合| 在线播放日韩欧美| 欧美日本一区二区三区| 欧美一区二区三区四区在线| 久久综合免费视频影院| 国产精品美女视频网站| 亚洲一区二区三区中文字幕在线| aa级大片欧美| 国产精品户外野外| 亚洲欧美电影在线观看| 久久综合影音| 亚洲精品综合精品自拍| 国产亚洲欧美另类一区二区三区| 国产精品自拍小视频| 久久只有精品| 亚洲一区精品电影| 欧美日本精品在线| 久热精品在线| 亚洲女同同性videoxma| 一本大道久久精品懂色aⅴ| 激情久久一区| 亚洲一区二区三区国产| 国产精品久久久久77777| 在线成人av.com| 美女图片一区二区| 免费亚洲一区| 国产精品劲爆视频| 国产性天天综合网| 久久婷婷久久一区二区三区| 欧美日韩一区在线视频| 亚洲精品国产精品国自产观看| 久久国产精品99久久久久久老狼| 国产一区日韩二区欧美三区| 国产精品大片wwwwww| 亚洲欧洲一区| 国产欧美日本一区二区三区| 欧美成人自拍| 久久久久久久久久久久久女国产乱| 日韩小视频在线观看专区| 欧美亚洲免费在线| 国产日韩欧美视频| 在线看片成人| 欧美在线视频免费观看| 欧美日韩在线精品一区二区三区| 国产亚洲精品久久久| 激情综合色综合久久| 国产精品美女久久久久久2018| 今天的高清视频免费播放成人| 欧美在线中文字幕| 国产精品久久久久9999| 欧美在线观看一区二区| 亚洲欧美日韩国产综合在线| 在线不卡a资源高清| 欧美激情亚洲综合一区| 国产精品午夜春色av| 一区二区欧美激情| 最新亚洲电影| 久久综合久久美利坚合众国| 亚洲茄子视频| 久久夜精品va视频免费观看| 欧美一级欧美一级在线播放| 另类酷文…触手系列精品集v1小说| 国产精品网站一区| 久久久久国色av免费观看性色| 狠狠色综合日日| 国产精品欧美日韩| 午夜在线视频一区二区区别| 91久久精品国产91久久| 亚洲激情网址| 欧美极品在线视频| 国产精品av免费在线观看| 国产一区二区三区高清播放| 欧美一区二区精品| 欧美女人交a| 一区二区三区欧美激情| 国产精品美女久久久免费| 欧美成人精品不卡视频在线观看| 国产精品亚洲综合久久| 夜夜嗨av一区二区三区四区| 中日韩在线视频| 激情视频一区二区三区| 欧美国产在线电影| 老司机67194精品线观看| 1000部国产精品成人观看| 久久综合久久88| 国产欧美一区在线| 久久综合色播五月| 久久精品国产亚洲一区二区| 欧美一级欧美一级在线播放| 亚洲国产精品999| 欧美日韩中文| 亚洲午夜精品在线| 午夜日韩视频| 艳妇臀荡乳欲伦亚洲一区| 亚洲激情图片小说视频| 亚洲大胆人体视频| 亚洲欧美国产精品桃花| 激情欧美日韩一区| 蜜桃视频一区| 亚洲巨乳在线| 一区二区三区四区国产| 欧美日韩一二三四五区| 国产精品久久亚洲7777| 欧美精品一区二区视频| 在线综合+亚洲+欧美中文字幕| 亚洲三级电影全部在线观看高清| 99人久久精品视频最新地址| 亚洲美女诱惑| 欧美福利视频一区| 欧美 日韩 国产一区二区在线视频| 欧美伊久线香蕉线新在线| 激情综合网址| 好看的av在线不卡观看| 欧美激情视频给我| 欧美成人一区二区| 在线亚洲免费视频| 国产精品久久久久一区二区三区共| 亚洲一区在线免费| 亚洲裸体俱乐部裸体舞表演av| 在线视频一区观看| 国产亚洲电影| 欧美激情第五页| 欧美电影专区| 亚洲国产导航| 亚洲视频一区在线| 欧美日韩在线播放一区| 国内精品久久久久影院优| 亚洲日本成人| 久久久www成人免费无遮挡大片| 欧美性一区二区| 国产精品性做久久久久久| 欧美日韩一区二区三区四区在线观看| 欧美了一区在线观看| 国产精品一区二区三区久久久| 国内成人自拍视频| 午夜精品视频在线观看| 亚洲欧美日韩成人高清在线一区| 一二美女精品欧洲| 久久综合色综合88| 伊人蜜桃色噜噜激情综合| 国产一区二区三区在线播放免费观看| 欧美激情在线狂野欧美精品| 欧美精品成人91久久久久久久| 麻豆成人91精品二区三区| 欧美精品导航| 亚洲一区二区三区色| 国产欧美在线播放| 亚洲主播在线观看| 国产又爽又黄的激情精品视频| 在线综合亚洲欧美在线视频| 亚洲国产精品激情在线观看| 欧美精品1区| 久久精品国产视频| 欧美精品久久久久久久久老牛影院| 国产酒店精品激情| 亚洲欧美激情一区二区| 欧美成人一区二区三区在线观看| 国产精品成人国产乱一区| 免费一级欧美片在线观看|