專利名稱:一種基于Bayer RGB的圖像邊緣檢測方法
一種基于Bayer RGB的圖像邊緣沖企測方法
技術鄰域
本申請屬于圖像處理領域,涉及一種邊緣檢測方法,尤其涉及適用于CMOS 圖像傳感器的一種基于Bayer RGB的圖像邊緣檢測方法。
背景技術:
圖像閾值分割是一種廣泛使用的圖像處理技術,通常可用于圖像的邊緣 檢測、分割。而現(xiàn)有的閾值分割處理普遍基于灰度值計算,這種方法首先確 定一個處于圖像灰度取值范圍中的灰度值的變化梯度閾值,然后將圖像中各 個像素點的灰度值變化梯度都與這個闊值相比較,并根據(jù)比較結果將對應的 像素點分為大于閾值或者小于閾值的兩類,進一步區(qū)分像素點是否為邊緣點。
在經典的閾值圖像法中,通常都是取一個閾值,常用的邊緣4僉測算子包 括Roberts算子、Prewitt算子、Sobel算子、Laplace算子等,利用各個像素 點及其相鄰點的灰度值,計算相應的灰度值變化梯度,當梯度幅值大于閾值 時,則認為該點為邊緣點。這種算子比較簡單,也易于實現(xiàn),對于直方圖分 布為兩個尖峰的情況,其分割的效果很好,邊緣點也易于判斷,但對于復雜 的圖像就難以取得理想的效果,并且對噪聲也過于敏感。因此為適應復雜圖 像的需要,又演變出了多閾值圖像法。比如一種基于Canny算子的邊緣檢測方 法,采用雙閾值以及非極大值抑制來識別邊緣。這種算子能較好的檢測到實 際邊緣,并能抑制虛假的邊緣響應,也同樣基于像素點的灰度值計算。
現(xiàn)有的邊緣檢測方法,針對的對象是實際可見的彩色圖像,每個像素點 已經包含了RGB三種顏色信息(即紅、綠、藍三色),先把該像素點的RGB值化 為灰度值,公式為Y^. 299*R+0. 587*G+0. 144*B,然后進行灰度值的梯度計算, 進一步進行邊緣檢測,然而對于CMOS圖像傳感器,其所得的原始圖像每一個像素點只包含一種顏色信息(紅、綠或者藍),如要應用前述基于灰度值的 邊緣檢測方法,需要先將原始圖像進行拓展,補充完整各像素點的顏色信息, 再計算灰度值,這樣將增加運算量以及邊緣檢測的復雜度,耗費計算資源。
發(fā)明內容
本發(fā)明所解決的技術問題在于現(xiàn)有基于灰度計算的圖像邊緣檢測方法,
難以滿足CMOS圖像傳感器原始圖像的邊緣檢測需要。
為達到上述目的,本發(fā)明提供了一種基于Bayer RGB的圖像邊緣4企測方 法,包括
提供Bayer RGB圖像;
對目標像素點及其相鄰區(qū)域內的各像素點利用檢測算子進行梯度運算,
得到各像素點的梯度幅值以及梯度角度;
根據(jù)所述梯度幅值以及梯度角度確定目標像素點是否為邊緣點。 所述Bayer RGB圖像為CMOS圖像傳感器得到的原始圖像。 作為優(yōu)選方案,所述目標像素點相鄰區(qū)域的選取范圍為3x3鄰域。 作為優(yōu)選方案,所述應用檢測算子進行梯度運算,具體為對相同顏色的
像素點進行梯度運算,運算區(qū)域為像素點的5x3鄰域,公式如下
<formula>formula see original document page 5</formula>
所述沖弟度幅j直"=|D」+ |D
<formula>formula see original document page 5</formula>
所述梯度角度6 = arctan( J)
根據(jù)梯度角度確定目標像素點的梯度方向,若目標像素點的梯度幅值小 于其在梯度方向上相鄰點的梯度幅值,則目標像素點為非邊緣點。所述確定目標像素點的梯度方向,具體步驟又包括
以目標像素點為中心將其所在平面劃分為等角的八個扇區(qū);
關于中心對稱的兩個扇區(qū)劃分為 一個梯度方向;
根據(jù)目標像素點梯度角度所在的扇區(qū)位置確定其梯度方向。 在對目標像素點邊緣檢測前,先確定梯度幅值的高閾值和低閾值,然后 作如下判斷
若目標像素點的梯度幅值大于高閾值,則確定目標像素點為邊緣點; 若目標像素點的梯度幅值小于低閾值,則確定目標像素點為非邊緣點; 若目標像素點的梯度幅值介于高閾值與低閾值之間時,當目標像素點周
圍存在邊緣點,則確定目標像素點為邊緣點;當目標像素點周圍不存在邊緣
點,則確定目標像素點為非邊緣點。
作為優(yōu)選方案,如果確定目標像素點為非邊緣點,則將其梯度幅值設為0。 本發(fā)明提供的圖像邊緣檢測方法,基于Bayer RGB圖像,免除了像素點
的灰度計算,無需將像素點補充完整的RGB信息,適用于對CM0S圖像傳感器
所得的原始圖像直接進行邊緣檢測。具有信噪比良好,邊緣定位準確,能夠
良好的抑制虛假邊緣的特點。
圖l為本發(fā)明所述的一個7x5鄰域Bayer RGBj象素矩陣; 圖2為本發(fā)明所述的圖像邊緣^r測方法的流程示意圖; 圖3為本發(fā)明所述梯度角度的扇區(qū)圖; 圖4為本發(fā)明所述梯度方向示意圖。
具體實施例方式
眾所周知,圖像邊緣檢測都通過對目標像素點的梯度信息計算得到,類 比于函數(shù)中的極值運算。作為邊緣的像素點,其亮度的梯度變化必然較非邊緣像素點更大。而設定高、低閾值, 一方面可以直接選出較為明顯的邊緣點, 另一方面,便于較為模糊的邊緣點進行判定而避免邊緣丟失。對于普通的彩
色圖像,亮度可以直接用灰度值來表征,但通常CMOS圖像傳感器所得到的原 始圖像為Bayer RGB模式,單個像素點只包含一種顏色的像素值,如果應用灰 度值表征像素點的亮度,需要先補充完整各像素點的顏色信息,再計算灰度 值,這樣將增加運算量以及邊緣;險測的復雜度,耗費計算資源。本發(fā)明采用 了基于同色梯度比較的邊緣檢測方法,可直接針對像素點的像素值進行梯度 計算。
本發(fā)明的實施方法流程圖如圖2所示,包括 Sl.提供一幅待檢測的Bayer RGB圖像;
S 2.確定進行邊緣檢測的目標像素點,以目標像素點為中心,選取3x 3鄰 域的Bayer RGB像素點矩陣。
53. 對該矩陣中的所有像素點,利用檢測算子進行梯度運算,得到各像素 點的梯度幅值以及梯度角度。
所述應用檢測算子進行梯度運算,具體為對相同顏色的像素點進行梯度 運算,運算區(qū)域為像素點的5x3鄰域。
54. 根據(jù)目標像素點的梯度角度確定目標像素點的梯度方向,具體步驟又 包括
以目標像素點為中心將其所在平面劃分為等角的八個扇區(qū);
關于中心對稱的兩個扇區(qū)劃分為 一個梯度方向;
根據(jù)目標像素點梯度角度所在的扇區(qū)位置確定其梯度方向。
S 5.若目標像素點的梯度幅值小于其梯度方向上兩個相鄰點的梯度幅值,
則判定該像素點為非邊緣點。
S6.若目標像素點的梯度幅值大于梯度幅值的高閾值,則判定該像素點為
邊緣點。57. 若目標像素點的梯度幅值小于梯度幅值的低閾值,則判定該像素點為
非邊緣點。
58. 若目標像素點的梯度幅值介于梯度幅值的高閾值與低閾值之間,則判 斷,該像素點3x3鄰域內,周圍8個點是否存在邊緣點,如果有,則判定目 標像素點為邊緣點;如果沒有,則判定為非邊緣點。
59. 若確定目標像素點為非邊緣點,則將其梯度幅值設為0。 上述方法中,在對目標像素點邊緣檢測前,可先才艮據(jù)所需的邊緣圖像,
確定梯度幅值的高閾值和低閾值。
通過上述方法,可以確定單個像素點的邊緣信息,采用相同的方式檢測 圖像其他像素點的邊緣信息。
為了進一步闡述本發(fā)明的實質及其優(yōu)點,下面結合一個具體實施例進行 說明。
再如圖l所示的Bayer RGB像素矩陣中,中心點為M(i,j),現(xiàn)對中心點 M(i,j)作邊緣檢測。根據(jù)本發(fā)明的實施方案,在作邊緣檢測時,需要利用檢 測算子進行計算的像素點區(qū)域為中心點M(i, j)的3x3鄰域。也就是說像素點M (x,y) (x=i-l,i,i+l;y=j-1, j, j+l)均要利用檢測算子做巻積計算。
而本發(fā)明所采用的檢測算子的運算區(qū)域為像素點的5x3鄰域,也就是說需 要用到顏色信息的像素點一共為7x5個。
本發(fā)明所述的檢測算子的計算公式如下
0 _1 0 1 0
= 0 -2 0 2 0
0 -l 0 1 0
0 0 12 1
= 0 0 0 0 0
-1 一2 —l 0 0
2 0
0 1 0 0 0 —1 -2 1 2
:—;£> 。=
4, 1"
0 0 0 0
1 7
1 0
0 0 —1 0
1 0 0 0 0 0 _1 一2 _1
4
8所述4弟度幅4直d HaJ+|z)」+1£>45。 I+
所述梯度角度^ = arctan(^)。
針對像素點M ( x, y ) ( x=i-1, i, i+l; y=j-l, j, j+l ),將位于其運算區(qū)域內的各像素點的像素值代入上述公式中,獲得其梯度幅值和梯度角度。以中心點M(i, j)為例,將得到如下數(shù)據(jù)
d, (/, _/) = (/(/ +1, _/ —1) — /(/ —1, 乂 一 1) + 2 * (/(/ +1, _/) 一 /(/ — 1, 乂)) + /(/ +1, 乂 +1) — /(〖一1, _/ +1)) x *;dy (/, /) = (/(/ — i, 乂 一 i) — /(/ 一 i, / +1) + 2 * (/" _/ —1) — /(/, y +1)) + /(/ +1, / —1) — /(/ + ], y +1)) x *;
Z>45。("乂) 二 (/仏J' — 1)-/(z.-2,_/ +1) + 2*(/(/ +1,_/ — 1)-/(/ — 1,乂 +1)) + + 2,乂 — 1)-/(/,; +1))x|;d, 。"力=- 2,卜1) - /(/, J + ]) + 2 * (/(/ — 1,卜1) — + W十]))+ /(/,卜1) — /(/ + 2,) +1)) 1
4
輔—(^4)。
同理,對另外8個像素點利用沖全測算子進行梯度計算。
如圖3所示,為本發(fā)明所述梯度角度的扇區(qū)圖。以目標像素點為中心,
將平面分成等角的八個扇區(qū),關于中心對稱的扇區(qū)又可以劃分為 一個梯度方
向,如圖4所示。
當
dir (x, y) =0;
>但22.5°,梯度角度在0°和180°這兩個扇區(qū)內,梯度方向
當g22.5'
<
<
收,力
內,4弟度方向dir(x,y)=l
,g67.5。,Ax",0,梯度角度在45。和225°兩個扇區(qū)
當
dir (x, y)=2;
>&67.5°,梯度角度在90°和270°兩個扇區(qū)內,梯度方向當<formula>formula see original document page 10</formula>。,D,xi^〈0,梯度角度在135°和315°兩個扇區(qū)
內,梯度方向dir(x,y)=3。
因為從公式可知,梯度幅值D是四項絕對值相加所得,故如果梯度為0時,中心點M(i, j)—定為非邊緣點。
根據(jù)代/,/)^arctan(^^),可以推得中心點M (i, j)的梯度角度以及梯度
方向,則如圖4所示的梯度方向圖,中心點M ( i, j )在梯度方向上有兩個相鄰點,設為M(s, t)和M (m, n)。 M (s, t)和M ( m, n )關于中心點對稱,且均包含于M ( x' y ) ( x=H, i, i+l; y=j-l, j, j+l )。
先判斷中心點的梯度幅值D(i, j)是否滿足D(i, j)〈min(D(s, t),D(m, n)),如果是則判定中心點M(i, j)為非邊緣點。
然后判斷D(i, j)是否大于梯度的高閾值,如果是則判定中心點M(i, j)為邊緣點。
再判斷D(i, j)是否小于梯度的低閾值,如果是則判定中心點M(i, j)為非邊緣點。
最后一種情況D(i, j)介于梯度的高閾值和低閾值之間,此時先判斷周圍的M (x,y) (x=i-l,i,i+l;y=j-1, j, j+l)八個點中,是否有邊纟彖點,如果中心點M(i, j)周圍有邊緣點,則判定中心點M(i, j)也為邊緣點,如果周圍均為非邊^(qū)彖點,則判定中心點M(i, j)也為非邊緣點。
經過上述判定規(guī)則,如果M(i, j)為非邊緣點,則將其梯度幅值設為0,這是為了在進行與M(i, j)相關聯(lián)的其他像素點邊緣檢測時,便于檢測算子計算,節(jié)省計算資源。
至此,中心點M(i, j)的邊緣信息已被確定,圖像的其他點的邊緣檢測可依次類推,最終得到準確的邊緣圖像。
本發(fā)明雖然以較佳實施例公開如上,但其并不是用來限定權利要求,任何本鄰域技術人員在不脫離本發(fā)明的精神和范圍內,都可以做出可能的變動和修改,因此本發(fā)明的保護范圍應當以本發(fā)明權利要求所界定的范圍為準。
權利要求
1. 一種基于Bayer RGB的圖像邊緣檢測方法,其特征在于,包括提供Bayer RGB圖像;對目標像素點及其相鄰區(qū)域內的各像素點利用檢測算子進行梯度運算,得到各像素點的梯度幅值以及梯度角度;根據(jù)所述梯度幅值以及梯度角度確定目標像素點是否為邊緣點。
2. 如權利要求1所述的圖像邊緣檢測方法,其特征在于,所述Bayer RGB 圖像為CMOS圖像傳感器得到的原始圖像。
3. 如權利要求1所述的圖像邊緣檢測方法,其特征在于,所述目標像素 點相鄰區(qū)域的選取范圍為3x3鄰域。
4. 如權利要求1所述的圖像邊緣檢測方法,其特征在于,所述應用檢測 算子進行梯度運算,具體為對相同顏色的像素點進朽-梯度運算。
5. 如權利要求4所述的圖像邊緣檢測方法,其特征在于,所述檢測算子 運算區(qū)域為像素點的5x3鄰域,計算公式如下 所述梯度幅4直D = |"」+ |^| +所述梯度角度0 = arctan(,)。
6. 如權利要求1所述的圖像邊緣檢測方法,其特征在于,根據(jù)所述梯度 角度確定目標像素點的梯度方向,若目標像素點的梯度幅值小于其在梯度方 向上相鄰點的梯度幅值,則目標像素點為非邊緣點。
7. 如權利要求6所述的圖像邊緣檢測方法,其特征在于,所述確定目標像素點的梯度方向,具體步驟包括以目標像素點為中心將其所在平面劃分為等角的八個扇區(qū); 關于中心對稱的兩個扇區(qū)劃分為 一個梯度方向;根據(jù)目標像素點梯度角度所在的扇區(qū)位置確定其梯度方向。
8. 如權利要求1所述的圖像邊緣檢測方法,其特征在于,在對目標像素 點邊緣4企測前,先確定梯度幅值的高闊值和低閾值。
9. 如權利要求8所述的圖像邊緣檢測方法,其特征在于,若目標像素點 的梯度幅值大于高閾值,則確定目標像素點為邊緣點。
10. 如權利要求8所述的圖像邊緣檢測方法,其特征在于,若目標像素 點的梯度幅值小于低閾值,則確定目標像素點為非邊緣點。
11. 如權利要求8所述的圖像邊緣檢測方法,其特征在于,若目標像素點 的梯度幅值介于高閾值與低閾值之間時,當目標像素點周圍存在邊緣點,則 確定目標像素點為邊緣點;當目標像素點周圍不存在邊緣點,則確定目標像 素點為非邊緣點。
12. 如權利要求1所述的圖像邊緣檢測方法,其特征在于,若確定目標 像素點為非邊緣點,則將其梯度幅值設為0。
全文摘要
本發(fā)明提供了一種基于Bayer RGB的圖像邊緣檢測方法,包括提供Bayer RGB圖像;以目標像素點為中心,生成3×3鄰域的Bayer RGB像素點矩陣,分別對該矩陣中各像素點,應用檢測算子進行梯度運算,得到各像素點的梯度幅值以及梯度角度。然后采用雙閾值判定和相鄰像素點梯度比較,判定是否為邊緣點。本發(fā)明免除了像素點的灰度計算,適用于對CMOS圖像傳感器所得的原始圖像直接進行邊緣檢測。具有信噪比良好,邊緣定位準確,能夠良好的抑制虛假邊緣的特點。
文檔編號G06T7/00GK101465001SQ20081018773
公開日2009年6月24日 申請日期2008年12月31日 優(yōu)先權日2008年12月31日
發(fā)明者任曉慧, 曹慶紅 申請人:昆山銳芯微電子有限公司