一種面向碑文的漢字提取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計(jì)算機(jī)視覺與計(jì)算機(jī)圖形圖像處理領(lǐng)域,具體地說是一種圖像中文本 定位和單字提取的方法,該方法可方便對于古代漢字的研宄,對探宄古今漢字演變規(guī)律具 有十分重要的意義。
【背景技術(shù)】
[0002] 碑文,作為書法一種傳統(tǒng)的藝術(shù)形式,記錄了中國漢字從古至今的發(fā)展和演變的 歷程。但由于碑文一般都經(jīng)歷過漫長的歷史年代,同時(shí)還要遭受自然腐蝕等的影響,使其不 利于永久的保存和傳播。隨著計(jì)算機(jī)的普及以及相關(guān)掃描設(shè)備的發(fā)展,碑文可以被掃描成 數(shù)字圖像存儲在計(jì)算機(jī)中,有效的提取出碑文中的漢字對后續(xù)的漢字結(jié)構(gòu)分析以及探宄古 今漢字的演變規(guī)律具有十分重要的意義。
[0003]目前對圖像進(jìn)行文本定位的方法主要以下三種:一是基于連通域的方法,如 Zhang等人提出了一個(gè)基于高階馬爾科夫隨機(jī)場的框架,能夠根據(jù)最大似然準(zhǔn)則和結(jié)點(diǎn)狀 態(tài)的后驗(yàn)概率判斷是否為漢字區(qū)域。該類算法針對背景較為單一的圖像具有很好的定位效 果,但是其性能依賴于初始連通域生成,對于背景紋理較為復(fù)雜的圖像則面臨考驗(yàn);二是基 于邊緣的方法,該類方法側(cè)重于文字和背景之間的高對比度,時(shí)間效率較高,但不能去除復(fù) 雜的紋理背景,常與其他算法相結(jié)合,作為初始的粗定位;三是基于紋理的方法,Wu等人利 用三種不同尺度的高斯濾波器對圖像進(jìn)行濾波并進(jìn)行線性變換,提出了一種多尺度紋理分 割的文本定位方法。此類方法通常具有較高的魯棒性,但由于需要進(jìn)行紋理分析的計(jì)算量 大、復(fù)雜度高,較為耗時(shí)。
[0004] 現(xiàn)階段針對碑文圖像進(jìn)行漢字提取的研宄并不多,由于碑文中的漢字排列不統(tǒng) 一,漢字的結(jié)構(gòu)較為復(fù)雜,使得一般的漢字提取方法無法直接適用于該領(lǐng)域從而取得較好 的效果。
【發(fā)明內(nèi)容】
[0005] 為克服上述缺點(diǎn),本發(fā)明的目的在于探宄碑文圖像中的漢字區(qū)域分布規(guī)律,研宄 漢字的結(jié)構(gòu)特點(diǎn),同時(shí)分析現(xiàn)有的文本定位和單字切分技術(shù),為碑文圖像的漢字獲取提出 一種簡單且有效的解決方案。
[0006] 為了達(dá)到上述目的,本發(fā)明提出了一種面向碑文的漢字提取方法,其特征在于包 括以下步驟:
[0007] 步驟(1)、采用擴(kuò)展邊界的方法構(gòu)建碑文圖像的AreaVoronoi圖,每個(gè)Voronoi 區(qū)域表示一個(gè)連通域,每個(gè)連通域根據(jù)其中是否包含漢字可分為漢字連通域和非漢字連通 域;由于漢字的離散性,在構(gòu)建AreaVoronoi圖的過程中會造成單個(gè)漢字筆畫之間的分 離,從而分屬于不同的連通域中,因此對于漢字連通域而言只包含部分漢字,稱為漢字的組 件;
[0008] 步驟(2)、根據(jù)連通域組件寬度標(biāo)準(zhǔn)差之間的差異性,去除非漢字連通域,并合并 所有的漢字連通域,從而可定位出碑文圖像中的整個(gè)漢字區(qū)域;
[0009]步驟(3)、對漢字區(qū)域圖像進(jìn)行TV平滑操作去除一定的噪聲點(diǎn),之后進(jìn)行二值化, 使得圖像只包含黑白兩種像素方便后續(xù)操作;計(jì)算二值圖像中的列投影直方圖,根據(jù)碑文 書法列分布的間隔性規(guī)律,分割出單列的漢字區(qū)域;
[0010] 步驟(4)、提取漢字圖像列中的連通域,該連通域可能包含單個(gè)完整的漢字,也可 能為不同漢字的不同部分的組合,因此需要對連通域進(jìn)行重組;分析常見的九種漢字結(jié)構(gòu) 特點(diǎn),將連通域外接矩形之間的關(guān)系總結(jié)為三種情況:上下關(guān)系、左右關(guān)系和重疊關(guān)系,根 據(jù)這三種關(guān)系進(jìn)行有效的提取出漢字。
[0011] 進(jìn)一步的,所述步驟(1)中構(gòu)建AreaVoronoi圖的步驟如下:
[0012] 步驟(11)、首先對圖像進(jìn)行連通域劃分,每個(gè)連通域?qū)?yīng)一個(gè)閉合的多邊形,并對 各個(gè)連通域以及未被劃分成連通域的背景點(diǎn)進(jìn)行標(biāo)記;
[0013]步驟(12)、采用Freeman編碼鏈表示每個(gè)連通域的輪廓,并對輪廓上以及輪廓內(nèi) 部的像素點(diǎn)進(jìn)行初始化,初始值為所對應(yīng)輪廓的標(biāo)記;
[0014]步驟(13)、采用擴(kuò)展Freeman編碼鏈的方式擴(kuò)展連通域的邊界;同時(shí)對擴(kuò)展輪廓 上的每一個(gè)點(diǎn)進(jìn)行判斷,如果該點(diǎn)同時(shí)也位于另外一個(gè)連通域輪廓上,那么該像素點(diǎn)可視 為一個(gè)Voronoi邊界點(diǎn),設(shè)置其值為EDGE_POINT;否則如果該點(diǎn)只是一個(gè)背景點(diǎn),則設(shè)置其 值為相應(yīng)的輪廓的標(biāo)記;
[0015] 步驟(14)、迭代的擴(kuò)展、判斷、標(biāo)記每個(gè)連通域,當(dāng)平面上所有的像素點(diǎn)都不再包 含背景像素時(shí),即表示所有的像素點(diǎn)要么歸屬某一個(gè)Voronoi區(qū)域,要么為區(qū)域的邊界點(diǎn), 由此完成了圖像的AreaVoronoi圖的構(gòu)建。
[0016] 本發(fā)明的原理在于:首先對于獲取的碑文圖像,根據(jù)擴(kuò)展邊界的方法構(gòu)建圖像的 AreaVoronoi圖,該圖中的每個(gè)Voronoi包含了一個(gè)有效的連通域,該連通域根據(jù)是否包 含漢字可分為漢字連通域和非漢字連通域,通過一定的準(zhǔn)則,合并漢字連通域,去除非漢字 連通域,從而定位出碑文圖像中的漢字區(qū)域。接下來是單個(gè)漢字的提取操作,同樣首先采取 連通域分析的方法初步表征區(qū)域中每個(gè)漢字,但此時(shí)劃分出的區(qū)域中所包含的漢字并不完 整,是相鄰漢字組合的結(jié)果。為了進(jìn)一步細(xì)分區(qū)域,基于中國漢字常見的九種結(jié)構(gòu),歸納總 結(jié)了三種連通域的外接矩形的關(guān)系,分別為:上下關(guān)系、左右關(guān)系和重疊關(guān)系,利用這三種 關(guān)系,針對具有重疊的連通域進(jìn)行下一步的細(xì)分操作,從而提取出有效的漢字。
[0017]目前針對碑文圖像的漢字提取研宄并不多,本發(fā)明中深入的分析了碑文圖像中漢 字分布的特征規(guī)律,與現(xiàn)有的一般圖像的文本提取技術(shù)相比的優(yōu)點(diǎn)在于:
[0018] (1)、考慮碑文圖像中漢字的離散稀疏的分布特點(diǎn),通過構(gòu)建AreaVoronoi圖的方 式對漢字區(qū)域進(jìn)行劃分,同時(shí)根據(jù)漢字的骨架寬度進(jìn)行區(qū)域合并,能夠有效的、針對性的定 位出漢字區(qū)域。
[0019] (2)、為了避免噪聲的影響,首次采用了TV平滑的方法來去除碑文圖像中細(xì)小的 噪聲點(diǎn),然后再進(jìn)行二值化操作。同時(shí)在單字切分的過程中,對常見的九種漢字結(jié)構(gòu)規(guī)律進(jìn) 行歸納總結(jié),提出了基于連通域及其包圍盒的切分算法,實(shí)驗(yàn)結(jié)果表明,該算法能夠簡單有 效的提取出單個(gè)漢字。
【附圖說明】
[0020] 圖1示出本發(fā)明中針對碑文圖像所構(gòu)建的AreaVoronoi圖;
[0021] 圖2示出本發(fā)明中原碑文圖像以及進(jìn)行漢字區(qū)域定位后的結(jié)果圖,其中,圖(a)為 原碑文圖像,圖(b)為進(jìn)行漢字區(qū)域定位后的結(jié)果圖;
[0022]圖3(a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、⑴示出本發(fā)明中歸納常見的九種漢 字結(jié)構(gòu);
[0023] 圖4示出本發(fā)明中對連通域包圍盒重疊關(guān)系的定義;
[0024] 圖5示出本發(fā)明中單字切分算法的偽代碼;
[0025] 圖6示出本發(fā)明中碑文圖像的漢字切分結(jié)果圖,其中圖(a)為碑文圖像,圖(b)為 碑文圖像的漢字切分結(jié)果圖;
[0026] 圖7示出本發(fā)明中有噪聲的碑文圖像的漢字切分結(jié)果圖,其中圖(a)為有噪聲的 碑文圖像,圖(b)為有噪聲的碑文圖像的漢字切分結(jié)果圖;
[0027] 圖8示出本發(fā)明的一種面向碑文的漢字提取方法的原理圖。
【具體實(shí)施方式】
[0028] 結(jié)合附圖對本發(fā)明實(shí)施例進(jìn)行詳細(xì)的描述。
[0029] 本發(fā)明的實(shí)施過程主要分成四個(gè)步驟:AreaVoronoi圖的構(gòu)建、Voronoi區(qū)域合 并、碑文圖像列分割、單字切分。
[0030] 步驟一、AreaVoronoi圖的構(gòu)建,主要分為六個(gè)基本步驟:
[0031] (1)首先對圖像進(jìn)行區(qū)域劃分,得到n個(gè)互不重疊的連通域,記為G= {gpg2,. . .,gn},每個(gè)連通域?qū)?yīng)一個(gè)閉合的多邊形,其標(biāo)記值為k(k= 1,2,…,n)。同時(shí)將 圖像中未被劃分到連通域中的背景像素的值設(shè)為BACKGROUND_VALUE。
[0032] (2)位于連通域內(nèi)部中的各個(gè)像素點(diǎn),設(shè)置其像素值為該連通域的標(biāo)記值k(k= 1,2,…,n) 〇
[0033] (3)利用Freeman編碼鏈表示每個(gè)連通域的輪廓,記為ICk。并將位于輪廓上的點(diǎn) 的像素值設(shè)為k+M,其中M是個(gè)常量。
[0034] (4)初始化每個(gè)連通域gk的狀態(tài)變量Fk: =true,其中k= 1,2,…,n。
[0035] (5)對于每個(gè)連通域gk判斷其狀態(tài)變量,如果Fk==false,則輸出該連通域;如 果Fk==true,進(jìn)行以下步驟。
[0036] (5. 1)根據(jù)Freeman編碼鏈ICk,獲得該輪廓的擴(kuò)展輪廓鏈ECk。
[0037] (5. 2)對于輪廓鏈ICk上的每個(gè)像素點(diǎn),如果它的值不為EDGE_VALUE,將其值設(shè)為 k(取代原來的k+M)。
[0038] (5. 3)對于擴(kuò)展輪廓鏈ECk的每個(gè)像素點(diǎn),比較其值的大小,如果位于M和M+k之 間,那么該像素點(diǎn)是位于其他連通域輪廓上的一個(gè)點(diǎn),記為一個(gè)Voronoiedge點(diǎn),并設(shè)置該 點(diǎn)的值為EDGE_VALUE。否則,如果值為BACKGROUND_VALUE,說明該點(diǎn)為一個(gè)背景點(diǎn),設(shè)置其 值為相應(yīng)的輪廓值k+M。
[0039] (5. 4)如果擴(kuò)展輪廓上的所有點(diǎn)都不是背景點(diǎn),則令Fk==f