專利名稱:圖像的二值化的制作方法
技術領域:
本發明涉及用于二值化圖像的方法、圖像處理芯片組和支持圖 像二值化的電子設備以及其中存儲用于二值化圖像的軟件代碼的軟 件程序產品。
背景技術:
信息常常作為彩色圖像或者灰度圖像來呈現,即使它的內容可 能作為二進制圖像。這樣的信息的例子是打印文檔、手寫筆記、條形碼、在電視文字廣播上和在普通屏幕上的TV屏幕上顯示的一些信 息、在計算機監視器上的一些演示等。在一些情形下,可能希望借助二值化將這樣的彩色或者灰度圖 像轉換成二值圖像例如以便有助于文檔分析或者減少數據量。在多 數文檔成像系統中,二值化過程通常先于文檔分析過程。通常,二值化包括比較圖像每個像素的原值與閾值。用于這一 像素的二進制值然后可以在閾值被超過的情況下設置為第 一值如黑 色、否則設置為第二值如白色。 一個值的像素如所有黑色像素然后 可以代表所識別的對象,而另一值的像素如所有白色像素可以代表 背景。高效地實施二值化的任務可能很復雜。為文檔處理應用而必須 二值化的打印文本的物理尺度常常甚至在同一頁上也變化很大。另 外,如果要實現手寫筆記的二值化則復雜度增加。此外,多數常規對象識別系統專門為掃描儀所采集的文檔圖像 而開發。然而,數字相機日益流行。移動電話和其它移動i殳備也越 來越大程度地配備有嵌入式相機部件或者配備有用于將允許拍攝畫 面和記錄電影的輔助設備與相機部件連接的設施。數字相機或者嵌入式相機部件因此可以用作為例如用于字符掃描和識別功能的新的 一種輸入接口。因此,對于也能夠處理相機圖像的需要日益重要。 涉及到的移動設備本身有利地配備有圖像二值化設施。相機圖像中的對象比掃描儀圖像中的對象更難以識別。原因在 于利用相機比利用掃描儀更難以控制成像環境。即使假設用戶仔細 拍攝圖像,但是對獲得的相機圖像的處理仍然可能成問題。首先, 相機圖像亮度由于不均勻的光照或者由于相機透鏡的畸變而可能不 一致。其次,相機圖像的色階表面比掃描儀圖像的色階表面更平滑。 換而言之,在例如字符的圖像中對象的邊緣不如在掃描儀圖像中那 樣清晰,因此在前景與背景之間的強度差在許多相機圖像中變化。 第三,相機圖像可能由于附加到所捕獲圖像上的傳感器噪聲或者由 于相機的光學系統即相機透鏡所致光學模糊和暈影而失真。這些問 題在聚焦不良的相機圖像中尤其明顯。為了處理相機圖像,二值化的性能因此至關重要。然而,常規 局部二值化方式的性能依賴于二值化中所用參數。如果特定參數集 對于一個圖像很好地起作用,但是這些參數很有可能將不適合于其 它圖像。另外,即使仔細計算最優參數,但是二值化方式可能無法 保存對象結構的重要細節。因而當二值化相機圖像時必須考慮若干 問題。已經開發各種方法用來二值化圖像。這些方法可以分類成全局 二值化方法和局部二值化方法。在全局二值化方法中,最重要的步驟包括確定全局閾值。這一 閾值然后將用作為用于圖像每個像素的判決因子。這一 方法基于輸 入直方圖為雙模態的假設。這一方法的優點在于它對于一致圖像的 簡易和有效。但是如果背景或噪聲特征是不一致的,則這一方法可 能造成大的誤差。在局部二值化方法中,基于一些局部統計為圖像的每個像素確 定專用閾值。許多流行的局部二值化方法是基于窗的方式,其中根 據在以(i, j)為中心的窗口中像素的灰度值來計算用于像素(i, j)的局部閾值。已經提出各種公式用于計算這樣的局部閾值。P. D. Wellner在1993年EuroPARC Technical Report EPC-93-110 的"Adaptive thresholding for the DigitalDesk"中已經提出一種局部二 值化方法。所呈現的方法為包含打印文本的圖像而專門設計并且使 用移動平均來判決二值化的結果。這一方法的思想在于計算后n個 所見像素的移動求和。當像素的值明顯低于移動平均時將它設置為 黑色、否則將它留作白色。這一方法僅需一次經過圖像。圖像作為 一維像素流來對待,并且可以直接計算或者基于如下等式估計可以 用于確定移動平均的移動求和其中Mw是用于像素pi+1的移動求和的估計。根據稱為"交錯書寫 (boustrophedon )"(在希臘語中意指"牛耕")的掃描方法從相機圖 像中獲取一維像素流。也就是說,由從左到右的一行行進和由從右 到左的下一行行進等等獲取圖像。通過使用這一方法來避免圖像的 一側相對于另一側的偏離。所估計的移動平均然后根據如下等式用 作為局部閾值其中P是用于像素Pi的所得二進制值,其中n是移動求和中考慮的像素數目,以及其中a是固定百分比值。7這一項代表實際移動平 均。然而需要注意移動求和Mi本身常常稱為移動平均。這一算法的 簡易擴展是將當前閾值與來自上 一 行的閾值平均以便考慮照度改變 以及也考慮圖像的垂直軸。這一方法的可能問題在于用來根據平均值來選擇閾值的百分比 值a是固定的。實驗表明當使用各種打印文本圖像類型時以及當出 現不同捕獲條件時這單個值變得不充分。發明內容本發明的 一 個目的是提供 一 種現有二值化解決方案的替代方案。本發明的另一目的在于實現快速二值化。本發明的又一目的在 于實現對相機捕獲的圖像的高效二值化。提出一種用于二值化圖像的方法,其中該圖像包括像素。該方 法包括將圖像拆分成兩個半圖像以及基于落在與分離半圖像的邊界 相鄰的區域中的像素的值來初始化局部參數。該方法還包括使用自 適應閾值分別為每個半圖像執行二值化。從初始化的局部參數開始 為每個半圖像計算自適應閾值。另外,提出一種圖像處理芯片組和一種電子設備。二者為包括像素的圖像的二值化而包括初始化部分,適于將圖像拆分成兩個 半圖像以及基于落在與分離半圖像的邊界相鄰的區域中的像素的值 來初始化局部參數。該圖像處理芯片和該電子設備還包括二值化 部分,適于使用自適應閾值分別為圖像的兩個半圖像的每一個執行 二值化,其中從初始化部分所初始化的局部參數開始為每個半圖像 計算自適應閾值。所提出的電子設備可以例如但并非唯一地是移動電話、任一種 移動或者固定計算機、數字相機、個人數字助理或者包括相機功能 的任一種便攜設備等。最后提出 一種軟件程序產品,其中存儲用于二值化圖像的軟件 代碼,其中該圖像包括像素。當由電子設備的處理單元執行時,該 軟件代碼實現所提出的方法的步驟。該軟件程序產品可以例如是專 用存儲設備、電子設備的處理單元所能存取的電子設備的存儲器或 者軟件代碼加載于其中以供執行的電子設備的處理單元的緩存器 等。本發明從如下考慮繼續如果先基于來自兩個半圖像的像素初 始化在每個半圖像的二值化中利用的局部參數則可以相互獨立地二 值化圖像的兩個半圖像。本發明的一個優點在于兩個半圖像的獨立二值化實現了半圖像 的并行二值化。這使二值化更快。本發明的又一優點在于所用自適應閾值可以反映來自與目標像素有關的范圍的局部信息,因此它對原圖像性質的變化并不敏感。 通常,按列和行排列數字圖像的像素。分離半圖像的邊界然后可以例如是垂直線。初始化局部參數在 這一 情況下可以就每行而言包括在與垂直線相鄰的區域中的這一行 中像素值的初始求和。自適應閾值可以適應于從與相應行相關聯的 初始求和開始基于加窗移動求和的每個半圖像的每行中的每個像 素。可選地,邊界然后可以例如是水平線。初始化局部參數在這一 情況下可以就每列而言包括在與水平線相鄰的區域中的這 一 列中像求和開始基于加窗移動求和的每個半圖像的每個列中的每個像素。所提出的初始化提供一種用以從輸入圖像中消除暈影的高效方 式。常規"交錯書寫"掃描對于消除在連續行之間的偏差而言是高效 的,但是暈影畸變數量在連續行上不同。事實上,它的特征是強非 線性。 一種選擇會是將自適應計算長度用于移動求和。但是這會明 顯地使該過程變復雜。所提出的新掃描實現起來容易得多。由于不 再在交替方向上執行掃描而是從計算的初始化重新針對每行或者列 而開始,所以通過對行或者列的獨立計算來簡易地消除暈影。另外,按行或者列的單獨處理還在每個半圖像中實現并行處理。 由于移動求和的平滑能力,所以有二值化在移動求和的方向上 使粗線變細的風險。用來二值化當前像素的所有項將在線內,但是 由于有噪相機傳感器所以它們將非常不同。因此,二值化可以判決 背景存在于粗線內。才是出第一方式,4艮據該方法通過向加窗移動求和應用自適應局 部校正將這一效應校正到某一程度。為此,可以在將平均加窗移動 求和用于為特定像素計算自適應閾值之前利用為與特定像素相鄰的 4象素而確定的加窗移動求和來平均為特定^f象素而確定的加窗移動求 和。這樣的附加平均允許對閾值增加局部影響。在這一方式的一個 實施例中,為特定像素而確定的加窗移動求和至少與為其中確定移 動求和的同一行或者列中先于特定像素的像素而確定的加窗移動求和一起平均。本實施例確保對每個像素的計算能夠限制在單行或列 中。取而代之或者除此之外,為特定像素而確定的加窗移動求和可 以與為其中確定移動求和的先前行或者列中的像素而確定的至少一個加窗移動求和一起平均。另外提出第二方式,根據該方式通過在垂直方向上使用輔校正 二值化來校正細化線條的效應,這完全消除這一所不希望的效應。 也就是說,以垂直或水平拆分獲得的二值化圖像被認為只是一個初 步結果。另外,在正交方向上將原圖像拆分成兩個另外半圖像,對 于這些另外半圖像,以與上文分別針對第一水平和垂直拆分所描述 相同的方式初始化另外局部參數。然后使用另外初始化局部參數在 每個另外半圖像中分別校正初步結果。有可能對整個初步二進制圖 像執行這樣的校正。然而,為了加速這一處理步驟,可以將校正限 制于對象計算。這意味著只有那些在第一初步二值化步驟中確定為 屬于背景的那些圖像部分才被考慮可能進行校正。因此,僅在另一 方向上并且針對有限數目的像素,才進行與初始方向上相同的過程。 在第一二值化步驟中確定為屬于背景的每個像素現在也可能被確定 為屬于對象,并且相應地校正關聯值。盡管所呈現的第一方式具有更快速度優點,但是第二方式具有 獲得更好校正解決方案的優點。需要注意在第二方式中,在應用校正之前二進制輸出已經可用, 所以這一步驟是補充步驟。由于校正所需額外耗時,因此在一個實 施例中可以僅在用戶的請求下、例如只要當用戶對獲得的初始二值 化不滿意時才進行校正。用于像素的最優閾值可以依賴于局部圖像行為和全局圖像行為。因此,除了局部參數之外還有利地計算全局參數,例如可以與 局部參數的初始化并行進行。為每個半圖像計算自適應參數然后還 可以考慮全局參數。這一 方式特別地適合于4吏自適應閾值適應于每 個種光照條件。需要注意可以為整個圖像或者分別為每個半圖像計算全局參數。為了進一步提高對照度變化的魯棒性,每個半圖像也 可以劃分成子圖像、例如劃分成兩個或者四個半圖像等。然后可以 相應地為每個半圖像計算和改變全局參數。如果初始化的局部參數包括在與邊界相鄰的區域中像素值的初 始求和并且從相應初始求和開始基于像素值的加窗移動求和為每個 半圖像的每個像素計算自適應閾值,則可以通過向用于特定像素的加窗移動求和應用以下運算來確定用于特定像素的自適應閾值1. 乘以用于移動平均的調節函數的值,其中調節函數具有在移 動平均的第 一范圍中的遞減值、在移動平均的第二范圍中的恒定值 和在移動平均的第三范圍中的遞減值。這些范圍由計算的全局參數 值中的第一和第二計算的全局參數值限定。2. 乘以落在第 一 與所述第二計算的全局參數值之間的第三計算 的全局參數值。作為附加運算,可以應用除以在移動求和中考慮的像素的數目 以便將移動求和轉換成移動平均。然而,如果數目固定,則可以通 過相應地選擇調節函數來隱含地執行這一運算。將理解可以任意地選擇所示運算的次序。可以自適應地根據輸入圖像來計算所有所需參數和函數,使得 校準不是必需。本發明可以用于灰度圖像、彩色圖像以及直接來自于相機傳感 器的原始數據。如果圖像是彩色圖像,則可以先將它轉換成灰度圖 像。然而可選地,可以選擇顏色之一作為用于二值化的基礎,或者 可以分別為兩個或者更多顏色執行二值化。在這一情況下可以將所 得多個二進制圖像組合成單個二進制圖像。還可以通過應用二進制校正、例如借助應用二進制中值濾波的 二進制中值濾波器和/或應用二進制形態濾波的二進制形態濾波器來 進一步校正所得二進制圖像。已經指明本發明實現高程度并行處理,各類實施的并行處理增 加了總體處理速度。 一言以蔽之,對于并行處理而言以下各項都是可能的選擇與為圖像計算全局參數并行進行初始化局部參數;在 為按列和行排列像素的圖像初始化局部參數時,分別為至少兩列或 者至少兩行并行進行局部參數的單獨初始化;局部參數在一個方向 上的初始化與局部參數在另 一方向上的初始化并行進行;在二值化 中,對于每個半圖像并行地進行自適應閾值的計算;和/或在針對按 列和行排列像素的圖像的二值化時分,別為相應 一個半圖像中的至 少兩列或者至少兩行并行進行自適應閾值的單獨計算;等等。由于本發明可以用于不同種類的圖像,例如用于拜爾矩陣圖像 或者用于插值圖像,所以它可以并入于圖像處理鏈中或者它可以實 施為按需安裝的單獨SIS (系統安裝套件)封裝。所呈現的二值化可以例如用于色量化或者用以從背景中分離對 象。本發明可以例如用于在文檔處理系統中或者在對象/背景分離系 統中作為第一步驟的圖像預處理步驟中。預處理的目的在于從輸入 圖像中獲得將實現對象檢測或者字符識別的最好可能二進制圖像。本發明還可以用于各種應用。 一個示例使用情況是處理、檢索 和存儲形式為文本而不是彩色圖像的文檔。又 一 示例使用情況是掃 描和存儲筆記以供將來檢索。又一示例使用情況是掃描和存儲地圖。 如果二值化良好,則用戶無需考慮所掃描的彩色圖像以理解所代表 的含義。又一示例使用情況是板演示、掃描和存儲。又一示例使用 情況是掃描在電視機和監視器顯示器上呈現的文本信息如移動電話 號碼或者網站。又一示例使用情況是用于條形碼應用等的預處理步 驟將理解所提出的圖像處理芯片組和所提出的電子設備可以包括適于實現任何所呈現的實施例的裝置。同樣可以實施在所提出的軟 件程序產品中存儲的軟件代碼以實現任何所呈現的實施例。本發明的其它目的和特征將從結合附圖來考慮的如下具體描述 中變得明顯。然而將理解到僅出于圖示的目的而不是作為對限制本 發明的限定而設計附圖,對于本發明的限定應當參照所附的權利要 求。還應當理解附圖未按比例繪制而且它們僅用來在概念上圖示這里描述的結構和過程。
圖1是根據本發明實施例的電子設備的示意框圖; 圖2是圖示了圖1的電子設備中二值化的流程圖; 圖3是圖示了在圖2的二值化范圍中利用的局部參數二值化的圖;圖4a是圖示了針對第一個半圖像在圖2的二值化范圍中利用的 移動求和計算的圖;圖4b是圖示了針對第二個半圖像在圖2的二值化范圍中利用的 移動求和計算的圖;圖5是代表在圖2的二值化范圍中利用的自適應參數函數的圖;圖6是圖示了圖2的二值化變形的流程圖;圖7a是將要二值化的原圖像的例子;圖7b是利用現有技術方式得到的圖7a的二值化圖像;以及 圖7c是利用根據本發明的方式得到的圖7a的二值化圖像。
具體實施方式
圖1是根據本發明實施例實現高效二值化的電子設備的示意框圖。舉例而言,該電子設備是相才幾電話10,也就是包括內嵌式相枳』 功能的移動電話。然而將理解它可以是從高效圖像二值化中受益的 任一其它種類的電子設備。相機電話10包括圖像傳感器11,例如CCD (電荷耦合器件) 傳感器。相機電話IO還包括適于執行各種軟件程序代碼的處理單元12。 軟件代碼包括可選圖像處理代碼13和與二值化有關的軟件程序代 碼。圖像處理代碼13可以實現例如圖像鏈或者JPG圖像生成器。它與圖像傳感器11 一起形成常規圖像捕獲部分。與二值化有關的軟件程序代碼包括可選灰度計算代碼14、全局參數提取代碼15、局部參 數初始化代碼16、自適應二值化代碼17和二進制校正代碼18。處理單元12可以例如是運行用于各種應用的軟件代碼的相沖幾電 話10的通用數字處理單元,或者它可以是專用相機處理單元。可選 地,圖像處理代碼13和與二值化有關的軟件程序代碼14-18的功能 可以例如實施于圖像處理芯片組中。相機電話IO還包括存儲器19。將理解相機電話IO還包括各種其它部件,包括實現移動通信的 部件等。將參照圖2至圖5具體地描述圖1的相機電話IO可以執行的二 值化。圖2是圖示了二值化步驟的流程圖。在第一步驟中,圖像捕獲部分11、 13 (步驟201)捕獲圖像。 所捕獲的圖像可以是從CCD傳感器11直接獲得的拜爾矩陣圖像數 據。可選地,它可以是由圖像處理代碼13輸出的彩色圖像,例如由 成像鏈輸出的彩色圖像或者在壓縮拜爾矩陣圖像數據之后獲得的彩 色JPG。所捕獲的圖像可以例如具有640x480像素的尺寸但是同樣 可以是任何其它尺寸。當使用拜爾矩陣數據時,從傳感器11獲得的圖像包含用于每個 像素的四個分量,即一個紅色分量、兩個綠色分量和一個藍色分量。 在一個實施例中,只有一個綠色分量以及紅色分量用于二值化。在 二值化中僅使用所選分量具有的優點在于每個忽略的分量將拜爾矩 陣數據量減少四分之一,這也減少計算復雜度和增加二值化的處理 速度。另外,藍色分量是噪聲最多的分量,因此它的不存在還有助 于去噪處理。然而需要注意,如果將要二值化的對象在輸入中表現 為黑色、例如如果對象為條形碼,則這樣的分量選擇才有利。只有 在這一情況下藍色分量的不存在才沒有太大影響。例如由圖像處理代碼13或者可選回復計算代碼14進行色分量選擇。圖像捕獲部分11、 13輸出的數據被傳遞到灰度計算代碼14。灰度計算代碼14將彩色圖像變換成灰度圖像(步驟202)。這 可以例如通過所選紅色、綠色和藍色分量的適當平均來實現。可選 地,可以取代灰度圖像而使用彩色圖像中的僅 一 個分量如綠色分量。 這足以二值化黑白書寫的捕獲文檔。如果所捕獲的圖像也包含有色 字符、則如果例如為每個像素平均紅色和綠色分量則獲得更好結果。 如果將要二值化的對象以淺色出現,則應當也使用藍色分量。與每 個像素相關聯的灰度可以例如是落在范圍0至255中的256個可能 灰度中的一個灰度。灰度計算增加了 二值化的速度,因為在后續處理步驟中只需要 進一步處理一個分量。獲得的灰度圖像數據提供給全局參數提取代碼15、局部參數初 始化代碼16和自適應二值化代碼17。在下一步驟中全局參數提取代碼15從整個圖像中提取數個全局 參數(步驟203 )。這些全局參數可以如下文將進一步描述的那樣用 作為用于局部參數的加權或者用于判決在自適應二值化過程中應用 的才交正。在全局參數提取的一個可能實施中,為此確定整個圖像的最大 值(Max)和最小值(Min)。全局參數D、 D1和D2然后可以推導 如下:D = (Max+Min)/2 D〕= (Rin+:D)/2 D2=《D+tex》Z2在全局參數提取的另一可能實施中,直方圖用來導出全局參數。 先計算整個圖像的直方圖。也就是說,為每個可能灰度而確定與相應灰度所關聯的像素數目。然后將D設置為對應于在直方圖非零部 分中間的灰度。將D1設置為對應于如下最高灰度,直方圖在該最高 灰度代表多于10%像素屬于由較高灰度代表的對象。類似地,將D2 設置為如下最低灰度,直方圖在該最低灰度代表多于10%像素屬于由較低灰度代表的背景。例如,灰度計算(步驟202)可以獲得具有 256個灰度的灰度圖像。為了借助直方圖確定全局參數Dl和D2, 先為相應灰度圖像計算直方圖。從0開始朝著255繼續,然后計算 第一直方圖最大值Ml。如果當前值大于前兩個值以及后兩個將來值 則可以認為已經獲得最大值。從255開始朝著0繼續以類似方式計 算第二最大值M2。以Sep=(Ml+M2)/2來近似對象/背景分離值。從 0至Sep計算直方圖值的求和Sl而從Sep至255計算求和S2。然后 通過Dl=SlxlO/100和D2=S2xlO/100獲得全局參數值。兩種實施均獲得良好性能。第一實施對于更普通的捕獲圖像而 言表現更好但是對于彩色捕獲圖像而言則不然。并行地或者依次地,局部參數初始化代碼16初始化多個局部參 數(步驟204)。需要注意對于依次初始化也可以經由全局參數提取 代碼15而不是直接由灰度計算代碼14將捕獲的圖像數據提供給局 部參數初始化代碼16。為了初始化,沿著水平或者垂直分離線將圖像拆分成兩個尺寸 相等的圖像。然后借助對與分離線相鄰的兩個半圖像的像素值執行 的計算來確定用于兩個半圖像的局部參數的共同初始值。針對垂直分離線在圖3的圖中圖示了對這樣的共同初始值的可 能計算。圖3呈現了沿著垂直初始化分離線303拆分成第一個半圖像I 301和第二個半圖像II 302的圖像300。圖像300的每個行k包括相 同數目的像素304。對于圖像300的每個行k,計算初始值M。。在所給例子中,用 于相應行的初始值Mo是在行k中位于垂直線一旁的第一個半圖像I 301的四個像素值與在行k中位于垂直線一旁的第二個半圖像I1302 的四個像素值之和。初始值M。是用于半圖像301、 302的共同初始 值。可選地,在水平分離線的情況下,在圖像的每個列中將在特定 列中與分離線相鄰的來自每個半圖像的四個像素值求和。在這一步驟204之后可以在每個半圖像中獨立地執行進一步處理。接收所提取的全局參數D、 D1和D2、所計算的局部初始值Mo 和灰度圖像數據作為輸入的自適應二值化代碼17執行下一步驟(步 驟205 )。灰度圖像數據包括所有像素的灰度。需要注意灰度圖像數 據也可以經由全局參數提取代碼15和/或局部參數初始化代碼16而 不是直接由灰度計算代碼14提供給自適應二值化代碼17。自適應二值化代碼17分別為每個半圖像301、 302執行自適應 二值化。像素確定自適應閾值。如下文將要說明的那樣,初始值M。用于借助移動平均的中心遞 歸實施以移動求和Mw的形式為每個像素Piw確定局部參數值。將 理解也可以直接計算移動平均。假設沿著垂直線303將原圖像拆分成兩個半圖像301、 302,將 對行進行相應半圖像的處理。圖4a圖示了根據下式為半圖像I 301的相應行k中的像素pi+1 確定移動求和Mi+1:Af《H ; M -十— &,相應行k的像素p。是與分離線303相鄰的半圖像II 302的像素, 而像素索引向左增加。在步驟204計算對于相應行k的像素po有效 的初始值M。。在所給例子中,按照在初始值Mo中組合的相應八個 像素值將變量a和b設置為a=3和b=5。為在圖4b中示出的第二個半圖像II 302的像素以相同方式確定 移動求和。在這一情況下,像素po是與分離線303相鄰的半圖像I301 的像素,像素索引向右增加。可以用將處理保持于行內的方式通過進一步平均用于像素pi+1 的當前移動求和M i+,和用于像素p i的在先前步驟中計算的移動求和 Mi來增加對預期閾值的局部影響。所得局部參數值用H表示。取而代之或者除此之外,也可以通過平均用于當前行k的像素pw的值 Mi+1和用于先前行k-l的像素pi+1的值Mi+1來獲得參數值H。然后可以根據下式來確定用于一個半圖像的特定行中像素pi+1 的自適應閾值Tj:在所給例子中,11=8是所用窗口尺寸,GP=D/8是僅依賴于所提 供的全局參數值D的全局參數因子,而AP(x)是依賴于所提供的全 局參數Dl和D2的自適應參數函數。在圖5中圖示了函數AP(x)的形狀以及全局參數Dl和D2控制 它的形狀的方式。可見AP的值對于從0上升到Dl的閾值x的值而 言從約2減少到約1。然后,AP的值隨著閾值x的值從Dl上升到 D2而基本上保持恒定。最后,AP的值對于從D2上升到255的閾值 x的值而言進一步減少。可見這一函數將僅在像素值pw落在全局參 數值Dl與D2之間時才用恒定值加權自適應閾值。基于全局參數 Dl和D2的確定值為相應圖像自動地調節函數的形狀。一旦已經為特定像素Pi確定閾值Ti,自適應二值化代碼17確定 像素pi的灰度是否落在閾值Ti以上。在它落在閾值以上的情況下, 將像素pi設置為"黑色",否則將像素pi設置為"白色"。需要注意在水平分離線的情況下,在列而不是行中以等效方式 執行處理。最后,二進制校正代碼18以校正二進制圖像為目的向獲得的二 進制圖像應用二進制運算(步驟206)。具體而言,中值濾波器執行 二進制中值濾波(步驟207 ),繼而形態濾波器執行形態濾波(步驟 208)。 二進制中值濾波器負責去噪。它的目的在于消除可能在二值 化之后產生的所有小的類似沖激的贗像(artifact)。形態濾波器負 責侵蝕/伸縮校正。它們具有只要圖像中存在字符就將字符的形狀校 正為悅目的形狀這一能力,因為它們使字符看起來更流暢。需要注 意處理的次序也可以相反。因此可能先使用形態濾波器后使用中值 濾波器。可以代之以恰在圖像的捕獲之后提供具有相似任務的去噪步 驟。在這一 情況下將要二值化的圖像已經被清除一 些所不希望的贗 像。然而,這一方式的缺點在于需要很復雜的去噪算法以便實現良好性能,例如以24個相鄰行作為輸入的西格馬濾波器。出于處理速 度原因,因此優選讓自適應過程負責去噪。實驗表明對于更多類 別的捕獲圖像,當只有在二值化之后才校正圖像時所得結果更好。 另外,即使對捕獲的圖像執行去噪也仍然需要一些附加二進制校正, 這提供了在二進制域中實施整體去噪的又一原因。二值化和校正的圖像然后可以例如存儲于存儲器19中以供進一 步使用。取而代之或者除此之外,二值化和校正的圖像也可以在相 機電話IO的顯示器上呈現給用戶或者由一些另外應用如字符識別應 用或者條形碼讀取器應用等加以處理。所呈現的二值化是自適應的而無需用戶進行設置或者調整由 于基于捕獲的圖像數據自動地檢測和校正所用參數和函數,所以對 系統的校準并非必需。此外,初始化步驟允許在自適應二值化步驟 中對圖像的多列或者多行進行并行處理,因此加速了處理。也可以 使初始化步驟并行化。所呈現的二值化的初始化步驟還提供了消除 暈影的高效方式。需要注意可以用許多方式改變所呈現的操作。例如,如圖2中虛線所示,可以跳過灰度計算步驟202。在這一 情況下,分別為捕獲圖像的所有所選色分量執行后續步驟203-205 。 也就是說,對于從CCD傳感器直接獲得的拜爾矩陣的圖像而言需要 四次單獨二值化,而對于在圖像鏈的輸出處獲得的彩色圖像和對于 在壓縮之后獲得的彩色JPG圖像也需要三次單獨二值化。通過向所 有計算的二進制輸出應用OR運算來獲得最終結果。如果沒有灰度 圖像計算,則可以獲得對輸入圖像中存在的所有顏色的二值化的很 精細調節。如果需要二值化豐富多彩的圖像,則應當使用所有色分 量。另外,可以分別為多個子圖像中的每個子圖像而不是為整個圖像等同地計算全局參數D、 Dl和D2。隨著二值化進入子圖像中, 然后相應地改變全局參數和AP(x)函數。為此可以將原圖像劃分成2、 4、8或者16個等同或者不同尺寸的子圖像。在兩個子圖像的情況下, 子圖像可以例如對應于半圖像,而對于多于兩個子圖像,每個半圖 像可以進一步加以劃分。使用一個全局參數集或者多個全局參數集 獲得多少有些相似的性能。僅對于非常不同的半圖像才表現出一些 差異。圖6是圖示了參照圖2描述的二值化的可能進一步變形的流程圖。在該二值化中,捕獲圖像601、計算灰度圖像602和提取全局參 數603的步驟可以分別對應于圖2的步驟201、 202和203。另外,可以針對沿著垂直線拆分的灰度圖像如參照圖2的步驟 204所述初始化局部參數(步驟604)。如上文參照圖2的步驟205 所述,初始化的局部參數然后可以用于在兩個半圖像中按行計算二 進制圖像(步驟605 )。然而,還沿著水平線拆分同 一 灰度圖像以便按列初始化局部參 數。以沿著水平線的拆分為基礎的初始化從而取代上文參照圖2的 步驟204提到的以沿著垂直線的拆分為基礎的初始化。因此,僅一個拆分用于圖2中呈現的解決方案,而兩個可能拆 分-水平方向和垂直方向-均并行用于圖6中呈現的解決方案。利用水平拆分而獲得的初始化局部參數然后用于在通過沿著水 平線的劃分而獲得的兩個半圖像中按行獨立地校正在步驟605中獲 得的對象(步驟612)。需要注意僅更新對象計算。這意味著對于這 一步驟而言不考慮初始對象檢測。如果已經確定當前像素屬于在步 驟605的初始計算中的對象,則簡單地跳過步驟612。因此只有當在 步驟605的初始計算中檢測到背景時才需要校正。換而言之,只有 在步驟605中已經設置為"白色,,的像素才有可能被校正。如果在正 交方向上的二值化判決當前像素也屬于對象,則將當前像素從背景 值校正為對象值。除了在步驟612中僅為有限數目的像素采取判決這一事實之外,輔二值化準確地對應于就水平分離線的所述情況而言參照步驟205描述的二值化。將理解也可以基于按列處理來執行基本二值化(步驟604、 605 ), 而基于按行處理來執行后續校正(步驟611、 612)。然后使所得的校正圖像進行上文參照圖2的步驟206、207和208 描述的二進制校正(步驟606、 607、 608)。根據本發明所呈現的對二值化的變形還具有的優點在于第二拆 分適合于針對可能在移動方向上存在于所得二進制圖像中的所不希 望的線條來校正在步驟305中獲得的二進制圖像。圖7a、 7b和7c圖示了所提出的二值化的效果。圖7a是在原像 中著色的捕獲圖像。圖7b是利用在上文引用的Wellner所著文獻中 呈現的二值化方式而得到的二值化圖像。圖7c是利用根據本發明的 二值化方式而得到的二值化圖像。盡管已經示出和描述以及指出了應用于其優選實施例的本發明 的基本新穎特征,但是將理解本領域技術人員可以在不脫離本發明 的精神情況下做出對所述設備和方法的在形式和細節上的各種省略 和替代以及改變。例如,明確地旨在于使以基本上相同方式執行基 本上相同功能以實現相同結果的那些單元和/或方法步驟的所有組合 都在本發明的范圍內。另外,應當認識到作為一般的設計選擇事項, 結合本發明的任何公開形式或者實施例而示出和/或描述的結構和/的形式或者實施例中。因此,僅如所附權利要求的范圍所指示的那 樣來限定本發明。
權利要求
1.一種用于二值化圖像的方法,所述圖像包括像素,所述方法包括將所述圖像拆分成兩個半圖像;基于落在與分離所述半圖像的邊界相鄰的區域中的像素的值來初始化局部參數;以及使用自適應閾值分別為每個所述半圖像執行二值化,其中從所述初始化的局部參數開始為每個所述半圖像計算所述自適應閾值。
2. 根據權利要求1所述的方法,其中所述像素按列和行排列, 其中所述邊界是垂直線,其中所述初始化的局部參數就每行而言包 括在與所述垂直線相鄰的所述區域中的所述行中像素值的初始求開始基于加窗移動求和的每個半圖像的每行中的每個像素。
3. 根據權利要求2述的方法,還包括沿著水平線將所述圖像 拆分成兩個另外半圖像;初始化另外局部參數,所述另外初始化的 局部參數就每列而言包括在與所述水平線相鄰的區域中像素值的初 始求和;以及使用所述另外初始化的局部參數分別在每個所述另外 半圖像中校正所述二值化圖像。
4. 根據權利要求2所述的方法,其中在將加窗移動求和用于為 特定像素計算自適應閾值之前,利用為與所述特定像素相鄰的像素 而確定的加窗移動求和來平均為所述特定像素而確定的所述加窗移 動求和。
5. 根據權利要求1所述的方法,其中所述像素按列和行排列, 其中所述邊界是水平線,其中所述初始化的局部參數就每列而言包基于加窗移動求和的每個半圖像的每列中的每個像素。
6. 根據權利要求5述的方法,還包括沿著垂直線將所述圖像拆分成兩個另外半圖像;初始化另外局部參數,所述另外初始化的 局部參數就每行而言包括在與所述垂直線相鄰的區域中像素值的初始求和;以及使用所述另外初始化的局部參數分別在每個所述另外半圖像中校正所述二值化圖像。
7. 根據權利要求4所述的方法,其中在將加窗移動求和用于為 特定像素計算自適應闊值之前,利用為與所述特定像素相鄰的像素 而確定的加窗移動求和來平均為所述特定〗象素而確定的所述加窗移 動求和。
8. 根據權利要求1所述的方法,還包括為所述圖像計算全局參 數的步驟,其中還另外考慮所述全局參數為每個述半圖像計算所述 自適應閾j直。
9. 根據權利要求8所述的方法,其中分別為每個所述半圖像確 定所述全局參數。
10. 根據權利要求8所述的方法,其中所述初始化的局部參數 包括在與所述邊界相鄰的所述區域中像素值的初始求和,其中從相 應初始求和開始基于像素值的加窗移動求和為每個半圖像的像素計 算自適應闞值,以及其中通過向用于特定像素的求和應用如下運算 來確定用于特定像素的自適應閾值除以在所述移動求和中考慮的像素的數目以獲得移動平均; 乘以用于所述移動平均的調節函數的值,其中所述調節函數具 有在移動平均的第 一范圍中的遞減值、在移動平均的第二范圍中的 恒定值和在移動平均的第三范圍中的遞減值,所述范圍由所述計算 的全局參數值中的第 一和第二計算的全局參數值限定;以及乘以落在所述第 一 與所述第二計算的全局參數值之間的第三計 算的全局參數值。
11. 根據權利要求1所述的方法,其中所述圖像是彩色圖像, 所述方法包括將所述彩色圖像轉換成灰度圖像的在先步驟。
12. 根據權利要求1所述的方法,還包括向所述二值化圖像應 用二進制校正。
13. 根據權利要求12所述的方法,其中所述二進制校正包括二 進制中值濾波和二進制形態濾波中的至少 一個濾波。
14. 根據權利要求1所述的方法,其中根據以下每個項中的至 少一項來進行并行處理-與為所述圖像計算全局參數并行進行初始化局部參數;-在針對其中所述像素按列和行排列的圖像的局部參數初始化 中,為至少兩列或者至少兩行分別并行進行局部參數的單獨初始化;-局部參數在一個方向上的初始化與局部參數在另一方向上的 附加初始化并行進行;-在所述二值化內為每個所述半圖像并行進行自適應閾值的計 算;以及-在針對其中所述像素按列和行排列的圖像的所述二值化內分 別為所述半圖像中的相應 一個半圖像中至少兩列或者至少兩行并行 進行自適應閾值的單獨計算。
15. —種圖像處理芯片集,為包括像素的圖像的二值化而包括 初始化部分,適于將圖像拆分成兩個半圖像以及基于落在與分離所述半圖像的邊界相鄰的區域中的像素的值來初始化局部參數; 以及二值化部分,適于使用自適應閾值分別為圖像的兩個半圖像的 每一個執行二值化,其中從所述初始化部分所初始化的局部參數開 始為每個所述半圖像計算所述自適應閾值。
16. 根據權利要求15所述的圖像處理芯片集,還包括全局參 數提取部分,適于為所述圖像計算全局參數,其中所述二值化部分 適于還考慮所述全局參數為每個所述半圖像計算所述自適應閾值。
17. —種電子設備,為包括像素的圖像的二值化而包括 初始化部分,適于將圖像拆分成兩個半圖像以及基于落在與分離所述半圖像的邊界相鄰的區域中的像素的值來初始化局部參數; 以及二值化部分,適于使用自適應閾值分別為圖像的兩個半圖像的每一 個執行二值化,其中從所述初始化部分所初始化的局部參數開 始為每個所述半圖像計算所述自適應閾值。
18. 根據權利要求17所述的電子設備,還包括全局參數提取 部分,適于為所述圖像計算全局參數,其中所述二值化部分適于還 考慮所述全局參數為每個所述半圖像計算所述自適應閾值。
19. 根據權利要求17所述的電子設備,其中所述電子設備是移 動電話、計算機、數字相機、個人數字助理和包括相機功能的便攜 設備之一。
20. —種軟件程序產品,其中存儲用于二值化圖像的軟件代碼, 其中所述圖像包括像素,所述軟件代碼在由電子設備的處理單元執 行時實現以下步驟將所述圖像拆分成兩個半圖像;基于落在與分離所述半圖像的邊界相鄰的區域中的像素的值來 初始化局部參數;以及使用自適應閾值分別為每個所述半圖像執行二值化,其中從所 述初始化的局部參數開始為每個所述半圖像計算所述自適應閾值。
21. 根據權利要求20所述的軟件程序產品,其中當由電子設備 的處理單元執行時所述軟件代碼還實現為所述圖像計算全局參數的 步驟,還考慮所述全局參數為每個所述半圖像計算所述自適應閾值。
全文摘要
根據本發明的用于二值化圖像的方法和設備,為了初始化包括像素的圖像,將圖像拆分成兩個半圖像。基于落在與分離半圖像的邊界相鄰的區域中的像素的值初始化局部參數。然后使用自適應閾值分別為每個半圖像執行二值化,其中從初始化局部參數繼續的每個半圖像計算自適應閾值。
文檔編號G06T5/00GK101228550SQ200680027012
公開日2008年7月23日 申請日期2006年7月6日 優先權日2005年7月29日
發明者A·比里昂, M·弗維萊南 申請人:諾基亞公司