一種對圖像進行字符識別的方法和裝置制造方法
【專利摘要】本發明提供了一種對圖像進行字符識別的方法和裝置。所述方法包括:從待處理圖像找出目標字符的邊緣輪廓;在對所述目標字符進行二值化處理時,針對所述目標字符的邊緣輪廓中的各個像素點,分別作為當前像素點,判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像;若所述當前像素點屬于所述目標字符,則針對所述當前像素點進行二值化處理;對進行二值化處理的圖像進行字符識別。本發明可以減少圖像處理的噪點,提高圖像處理的速度。
【專利說明】一種對圖像進行字符識別的方法和裝置
【技術領域】
[0001]本發明涉及字符識別領域,特別是涉及一種對圖像進行字符識別的方法,以及,一種對圖像進行字符識別的裝置。
【背景技術】
[0002]OCR (Optical Character Recognit1n,光學字符識別)是指電子設備(例如掃描儀或數碼相機)檢查字符載體,比如紙上的字符,通過檢測暗、亮的模式確定其形狀,然后用字符識別方法將形狀翻譯成計算機文字的過程;即,對文本資料進行掃描,然后對圖像文件進行分析處理,獲取文字及版面信息的過程,包括圖像的預處理、字符的二值化、版面分析、字符切割和字符識別幾個步驟。
[0003]其中,圖像的二值化是光學字符識別的重要步驟。圖像二值化通常采用的方法是,針對待處理的圖像計算一張閾值平面,然后根據閾值平面將圖像中的各像素點進行二值分割。NiBlack方法是一種二值化閾值的計算方法,它以局部開窗口的方式為每個像素點計算一個閾值,能夠較好地處理亮度不均勻的待處理圖像。但是NiBlack方法所開的窗口大小是固定的,不能根據字符作自適應調整,處理后的圖像噪點比較多。另外,NiBlack方法針對圖像中的字符位置與背景位置的每個像素點都要計算閾值,所以耗時比較長。
[0004]綜上所述,在光學字符識別中,現有的圖像的二值化處理方法存在耗時長、噪點多以及不能自適應地在字符周圍開小窗口進行處理的問題。
【發明內容】
[0005]本發明提供了一種對圖像進行字符識別的方法和裝置,以減少圖像處理的噪點,提高圖像處理的速度。
[0006]本發明提供了一種對圖像進行字符識別的方法,包括:
[0007]從待處理圖像找出目標字符的邊緣輪廓;
[0008]在對所述目標字符進行二值化處理時,針對所述目標字符的邊緣輪廓中的各個像素點,分別作為當前像素點,判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像;
[0009]若所述當前像素點屬于所述目標字符,則針對所述當前像素點進行二值化處理;
[0010]對進行二值化處理的圖像進行字符識別。
[0011]優選地,所述從待處理圖像找出目標字符的邊緣輪廓包括:
[0012]對待處理圖像中包含的各個像素點,對相鄰的兩個像素點的像素值進行比較;
[0013]若相鄰兩個像素點的像素值的差值大于預設閥值,則將像素值較大的像素點所在位置作為所述目標字符的邊緣輪廓。
[0014]優選地,所述從待處理圖像找出目標字符的邊緣輪廓還包括:
[0015]針對得到的邊緣輪廓,做出所述邊緣輪廓的水平外接矩形;
[0016]查找所述待處理圖像中與所述水平外接矩形重合的部分以及與所述最小外界矩形距離2個像素以內的區域,將查找的區域合并入所述邊緣輪廓。
[0017]優選地,所述判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像包括:
[0018]以所述當前像素點為中心,以預設邊長確定一個正方形的閥值區域;
[0019]根據所述閥值區域內所有像素點的亮度統計所述閥值區域內亮度的比較值;
[0020]將所述當前像素點的亮度與所述比較值進行比較,若所述當前像素點的亮度大于所述比較值,則所述當前像素點為屬于所述目標字符的背景圖像,若所述當前像素點的亮度不大于所述比較值,則所述當前像素點為屬于所述目標字符。
[0021]優選地,所述根據所述閥值區域內所有像素點的亮度統計所述閥值區域內亮度的比較值包括:
[0022]在所述閥值區域內計算每個像素點的梯度值,包括:計算所述像素點的左邊像素點的亮度與右邊像素點的亮度的第一絕對差值以及所述像素點的上邊像素點的亮度與下邊像素點的亮度的第二絕對差值,將所述第一絕對差值和所述第二絕對差值中最大的值作為所述梯度值;
[0023]計算所述閥值區域內所有像素點的梯度值的和;
[0024]計算所述閥值區域內各個像素點的亮度分別與所述梯度值的乘積的和,并除以所述梯度值的和,減去預設閥值的差作為所述比較值。
[0025]優選地,所述方法還包括:
[0026]計算所述目標字符的字符筆畫的寬度作為所述預設邊長,進一步包括:
[0027]對所述目標字符的邊緣輪廓按照預設的方向進行掃描;
[0028]統計每次掃描出現的相鄰輪廓之間的距離值,并將出現次數最多的距離值作為所述目標字符的字符筆畫的寬度。
[0029]本發明還提供了一種對圖像進行字符識別的裝置,包括:
[0030]輪廓查找模塊,用于從待處理圖像找出目標字符的邊緣輪廓;
[0031]像素點判斷模塊,用于在對所述目標字符進行二值化處理時,針對所述目標字符的邊緣輪廓中的各個像素點,分別作為當前像素點,判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像;
[0032]二值化處理模塊,用于針對屬于所述目標字符的當前像素點進行二值化處理;
[0033]字符識別模塊,用于對進行二值化處理的圖像進行字符識別。
[0034]優選地,所述輪廓查找模塊包括:
[0035]像素值比較子模塊,用于對待處理圖像中包含的各個像素點,對相鄰的兩個像素點的像素值進行比較;
[0036]像素值判斷子模塊,用于若相鄰兩個像素點的像素值的差值大于預設閥值,則將像素值較大的像素點所在位置作為所述目標字符的邊緣輪廓。
[0037]優選地,所述輪廓查找模塊還包括:
[0038]矩形確定子模塊,用于針對得到的邊緣輪廓,做出所述邊緣輪廓的水平外接矩形;
[0039]區域查找子模塊,用于查找所述待處理圖像中與所述水平外接矩形重合的部分以及與所述最小外界矩形距離2個像素以內的區域;
[0040]區域合并子模塊,用于將查找的區域合并入所述邊緣輪廓。
[0041]優選地,所述像素點判斷模塊包括:
[0042]閥值區域確定子模塊,用于以所述當前像素點為中心,以預設邊長確定一個正方形的閥值區域;
[0043]比較值統計子模塊,用于根據所述閥值區域內所有像素點的亮度統計所述閥值區域內亮度的比較值;
[0044]亮度比較子模塊,用于將所述當前像素點的亮度與所述比較值進行比較,若所述當前像素點的亮度大于所述比較值,則所述當前像素點為屬于所述目標字符的背景圖像,若所述當前像素點的亮度不大于所述比較值,則所述當前像素點為屬于所述目標字符。
[0045]與【背景技術】相比,本發明包括以下優點:
[0046]本發明實施例通過確定目標字符的邊緣輪廓,進一步判斷邊緣輪廓內的各個像素點為背景像素點還是屬于字符的像素點,僅針對屬于目標字符的當前像素點進行二值化處理,依據本發明實施例,一方面在對圖像進行局部二值化處理時,僅僅針對有字符的地方進行二值化處理,沒有字符的地方不進行二值化處理,節約了大量的處理資源,加快了圖像處理的速度。另一方面在對圖像進行局部二值化時,所開的窗口與字符相關,能夠根據字符作自適應調整,噪點少,二值化效果較好。
【專利附圖】
【附圖說明】
[0047]圖1是本發明實施例的一種對圖像進行字符識別的方法的流程圖;
[0048]圖2是本發明實施例的一個示例中待處理圖像;
[0049]圖3是對待處理圖像進行找輪廓及輪廓合并后得到的字符的輪廓圖像;
[0050]圖4是本發明實施例的一個示例中選取A點為當前點的待處理圖像;
[0051]圖5是本發明實施例的一個示例中選選取A點為當前點的字符輪廓圖;
[0052]圖6是本發明實施例的一個示例中選取B點為當前點的待處理圖像;
[0053]圖7是本發明實施例的一個示例中選取B點為當前點的輪廓合并后的字符的輪廓圖;
[0054]圖8是本發明實施例的一個示例中對待處理圖像進行二值化后的圖像;
[0055]圖9是本發明實施例的一種對圖像進行字符識別的裝置的結構框圖。
【具體實施方式】
[0056]為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本發明作進一步詳細的說明。
[0057]光學字符識別過程一般包括以下過程:
[0058](I)圖像的預處理:包括圖像增強、去噪等處理過程。
[0059](2)字符的二值化:對攝像頭拍攝的圖片,大多數是彩色圖像,彩色圖像所含信息量巨大,對于圖片的內容,我們可以簡單的分為前景與背景,為了讓計算機更快的、更好地識別文字,我們需要先對彩色圖進行處理,使圖片只有前景信息與背景信息,可以簡單的定義前景信息為黑色,背景信息為白色,這就是二值化圖。
[0060](3)版面分析:將文檔圖片分段落、分行的過程叫做版面分析。
[0061](4)字符切割:由于拍照條件的限制,經常造成字符粘連,斷筆,因此極大限制了識別系統的性能,這就需要對字符進行切割。
[0062](5)字符識別:主要有模板匹配、特征提取等識別方法。
[0063]上述處理步驟中,對圖像進行字符識別的圖像二值化步驟中存在噪點較多,耗時較長的問題,有鑒于此,本發明實施例提供了一種新的對圖像進行字符識別的機制,下面通過實施例對本發明所述方法的實現流程進行詳細說明。
[0064]參照圖1,其示出了本發明實施例所述一種對圖像進行字符識別的方法的流程圖,所述方法具體可以包括:
[0065]步驟101、從待處理圖像找出目標字符的邊緣輪廓。
[0066]進行二值化處理的待處理圖像中包括字符,依據【背景技術】的方案,在對圖像進行二值化處理時,針對圖像中的每個像素點,包括字符區域的像素點和非字符的背景區域的像素點均進行二值化處理。
[0067]通過字跡比對或是像素比對找出目標字符的邊緣輪廓,或是可以通過各種可實現的方案找出目標字符的邊緣輪廓,本發明實施例中,優選地,所述從待處理圖像找出目標字符的邊緣輪廓包括:
[0068]子步驟S11、對待處理圖像中包含的各個像素點,對相鄰的兩個像素點的像素值進行比較。
[0069]子步驟S12、若相鄰兩個像素點的像素值的差值大于預設閥值,則將像素值較大的像素點所在位置作為所述目標字符的邊緣輪廓。
[0070]待處理圖像中,目標字符所包含的各個像素點的像素值明顯會高于周圍各個像素點的像素值,因此,通過比對相鄰像素點的像素值,找出像素值突變的地方就是字符的邊緣輪廓處,可以預先設置像素值突變的大小,相鄰兩個像素點的像素值的差值大于預設閥值的時候,可以認為像素值在字符的邊緣輪廓處發生了突變,進一步可以將較大的像素值對應的像素點作為字符的邊緣輪廓上的像素點。
[0071]通過對各組相鄰像素點進行比較,可以找出位于目標字符邊緣輪廓的像素點,根據這些像素點可以確定目標字符的邊緣輪廓。
[0072]在具體地實現中,還可以對通過上述方案找出的邊緣輪廓進行優化,進一步優選地,所述從待處理圖像找出目標字符的邊緣輪廓還包括:
[0073]子步驟S13、針對得到的邊緣輪廓,做出所述邊緣輪廓的水平外接矩形;
[0074]子步驟S14、查找所述待處理圖像中與所述水平外接矩形重合的部分以及與所述最小外界矩形距離2個像素以內的區域,將查找的區域合并入所述邊緣輪廓。
[0075]為避免將字符上一些像素值較小的點漏掉,可以將邊緣輪廓附近的點也合并入邊緣輪廓,針對邊緣輪廓做出水平外接矩形,將待處理圖像中與水平外接矩形重合的區域并入邊緣輪廓,還可以并入距離水平外接矩形很近的像素點,例如距離邊緣輪廓2個像素點的區域。
[0076]步驟102、在對所述目標字符進行二值化處理時,針對所述目標字符的邊緣輪廓中的各個像素點,分別作為當前像素點,判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像。
[0077]本發明實施例為了減小二值化處理的工作量,提高二值化處理的速度,首先判斷邊緣輪廓中包含的各個像素點是否為目標字符上的像素點,具體地,所述判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像包括:
[0078]子步驟S21、以所述當前像素點為中心,以預設邊長確定一個正方形的閥值區域;
[0079]子步驟S22、根據所述閥值區域內所有像素點的亮度統計所述閥值區域內亮度的比較值;
[0080]子步驟S23、將所述當前像素點的亮度與所述比較值進行比較,若所述當前像素點的亮度大于所述比較值,則所述當前像素點為屬于所述目標字符的背景圖像,若所述當前像素點的亮度不大于所述比較值,則所述當前像素點為屬于所述目標字符。
[0081]通過比較亮度值可以判斷各個像素點是否屬于目標字符,一般情況下,目標字符上的像素點的亮度要低于背景區域的像素點的亮度,在這種情況下可以將亮度較低的點作為目標字符上的像素點,將亮度較高的點作為背景圖像中的像素點。
[0082]首先,可以劃定一個區域進行亮度的比較,本發明實施例中,優選地采用預設邊長劃定一個正方形的閥值區域,對閥值區域里面的像素點的亮度進行比較,進一步統計,閥值區域內的像素點的亮度的一個比較值,作為一個亮度比較的基準,若超出該比較值,則認為是屬于背景圖像的像素點,若不超出該比較值,則認為是屬于目標字符的像素點。
[0083]需要說明的是,針對目標字符上的像素點的亮度要高于背景區域的像素點的亮度的情況,做出比較值之后,可以將亮度較高的點作為目標字符上的像素點,將亮度較低的點作為背景圖像中的像素點。
[0084]其中,優選地,所述根據所述閥值區域內所有像素點的亮度統計所述閥值區域內亮度的比較值包括:
[0085]子步驟S22-1、在所述閥值區域內計算每個像素點的梯度值,包括:計算所述像素點的左邊像素點的亮度與右邊像素點的亮度的第一絕對差值以及所述像素點的上邊像素點的亮度與下邊像素點的亮度的第二絕對差值,將所述第一絕對差值和所述第二絕對差值中最大的值作為所述梯度值;
[0086]子步驟S22-2、計算所述閥值區域內所有像素點的梯度值的和;
[0087]子步驟S22-3、計算所述閥值區域內各個像素點的亮度分別與所述梯度值的乘積的和,并除以所述梯度值的和,減去預設閥值的差作為所述比較值。
[0088]針對閥值區域中的各個像素點,首先計算各個像素點的亮度的梯度值,在正方形的閾值區域內求每一點Pi,j的梯度值Gi,j,其中i e I…2m,j e I...2m,m為正方形區域的預設邊長。
[0089]具體地,計算點P(i, j)右邊的一點的亮度L(i+1, j)減去點P(i, j)左邊的一點的亮度L(1-1,j)的絕對值,計算點P (i,j)下邊的一點的亮度L (i,j-1)減去P(i,j)上邊的一點的亮度L(i,j+1)的絕對值,并提取兩個絕對值中的最大值作為點P(i,j)的梯度值G(i, j),即 G(i, j) = max( I L(i+1, j)-L(i_l, j) I,I L(i, j_lv_L(i, j+1) I )。接著,計算正方形閾值區域內所有點的梯度和為SUMl =E Gi j,計算正方形閾值區域內所有點的亮度與梯度值乘積的和為SUM =Σ Li, j*Gij。最后,計算比較閾值th = SUM/SUM1-5。
[0090]其中,預設邊長可以根據實際情況或是經驗預先設置,也可以臨時計算字符筆畫的寬度作為預設邊長,所述方法還包括:
[0091]計算所述目標字符的字符筆畫的寬度作為所述預設邊長,進一步包括:
[0092]對所述目標字符的邊緣輪廓按照預設的方向進行掃描;
[0093]統計每次掃描出現的相鄰輪廓像素之間的距離值,并將出現次數最多的距離值作為所述目標字符的字符筆畫的寬度。
[0094]對字符輪廓按照預設的方向進行掃描,例如可以從先左向右、再從上向下掃描,獲取相鄰輪廓像素之間的距離值,并統計各個距離值出現的次數,將出現次數最多的距離值作為字符筆畫的寬度。例如,每次掃描出現的第一個像素與第二個像素之間的距離、第三個像素與第四個像素之間的距離...,將出現次數最多的距離值確定為字符筆畫的寬度。
[0095]通過該步驟,在對圖像進行局部二值化時,所開的窗口與字符相關,能夠根據字符作自適應調整,噪點少,二值化效果較好。
[0096]步驟103、若所述當前像素點屬于所述目標字符,則針對所述當前像素點進行二值化處理。
[0097]在對圖像進行局部二值化處理時,僅僅針對有字符的地方進行二值化處理,沒有字符的地方不進行二值化處理,節約了大量的處理資源,加快了圖像處理的速度。
[0098]步驟104、對進行二值化處理的圖像進行字符識別。
[0099]在進行二值化處理后,可以對圖像中的字符進行識別,在進行字符識別之前,可以首先進行版面分析和字符切割的步驟,將文檔圖片分段落、分行的過程為版面分析,由于拍照條件的限制,經常造成字符粘連,斷筆,因此極大限制了識別系統的性能,這就需要對字符進行切割,之后進行的字符識別主要有模板匹配、特征提取等識別方法。具體地如何進行字符識別可以按照實際需求選擇任意可實現的方案,本發明對此并不做限制。
[0100]為使本領域技術人員更好地理解本發明實施例,以下按照步驟先后順序的方式,列出了本發明實施例中二值化處理部分的具體步驟。
[0101](I)找出字符的邊緣輪廓。像素值突變的地方是字符的輪廓處,即像素值由小突然變大的地方是字符的邊緣輪廓。
[0102](2)進行輪廓合并。作出輪廓的水平外接矩形,將水平外接矩形重合的輪廓或者水平外接矩形相距很近,比如2個像素以內的輪廓進行合并。
[0103](3)求出字符筆畫的寬度。對字符輪廓進行掃描,分別從左向右、從上向下進行像素的掃描,統計每次掃描出現的第一個像素與第二個像素之間的距離、第三個像素與第四個像素之間的距離...,將出現次數最多的距離值確定為字符筆畫的寬度m。
[0104](4)選取字符輪廓內的一個像素點作為當前點,判斷當前點是字符還是背景。該過程包括以下步驟:
[0105](a)以當前點為中心,以2m為邊長,確定一個正方形的閾值區域。
[0106](b)在正方形的閾值區域內求每一點Pi, j的梯度值Gi,j,其中i e l-2m, j e I...2m。計算方法為點Pi,j右邊的一點的亮度Li+1,j減去點Pi,j左邊的一點的亮度L1-1,j的絕對值與點Pi,j下邊的一點的亮度Li,j-Ι減去Pi,j上邊的一點的亮度Li,j+Ι的絕對值中的最大值作為點Pi,j的梯度值Gi,j,即Gi,j = max( I Li+1,j-L1-1,j I,ILi, j-l-Li, j+1 I )。
[0107](c)計算正方形閾值區域內所有點的梯度和SUMl =E Gij0
[0108](d)計算正方形閾值區域內所有點的亮度與梯度值乘積的和SUM =Σ Li, j*Gij。
[0109](e)計算比較閾值 th = SUM/SUM1-5。
[0110](f)以當前點的亮度與比較閾值th進行比較,如果當前點的亮度大于th,則當前點為背景的點,如果當前點的亮度小于th,則當前點為字符的點。
[0111](g)選定還沒有判斷的字符輪廓水平外接矩形內的一點為新的當前點,重復步驟(a)至(f),直至字符輪廓水平外接矩形內的點都判斷完畢。
[0112]以下通過一個具體的示例對本發明實施例中圖像的二值化處理的部分進行說明。如圖2所示,為本發明實施例的一個示例中待處理圖像,稱之為原始圖像。
[0113]對原始圖像進行找字符邊緣輪廓并進行輪廓合并處理,得到圖3所示輪廓圖。圖3為本發明實施例的一個示例中對待處理圖像進行找輪廓及輪廓合并后得到的字符的輪廓圖。
[0114]求出字符筆畫的寬度,并判斷像素點為背景中的像素點還是字符中的像素點:
[0115]針對一個像素點A點:
[0116]圖4為本發明實施例的一個示例中選取A點為當前點的待處理圖像。選取A點為“莊”字字符上的當前點,A點的亮度為31。圖5為本發明實施例的一個示例中選選取A點為當前點的字符輪廓圖。對“莊”字的字符區域進行掃描,求出字符的筆畫寬度為9。
[0117]以A點為中心在9X9范圍內開小窗口,根據Gi,j = max ( I Li+1, j-L1-1, j I,
ILi, j-l-Li, j+1 I ),求出正方形窗口內所有點的梯度值,再根據公式SUMl =Σ Gij,求出正方形閾值區域內所有點的梯度和SUMl = 3953。
[0118]根據公式SUM =Σ Li, j*Gij,求出正方形閾值區域內所有點的亮度與梯度值乘積的和 SUM = 349562。
[0119]根據公式th = SUM/SUM1-5,計算出比較閾值th = 83.4295。
[0120]比較A點亮度與比較閾值th的大小,31〈83.4295,判斷當前點A為字符,將A點灰度調整為O。
[0121]針對另一個像素點B點:
[0122]圖6為本發明實施例的一個示例中選取B點為當前點的待處理圖像。選取B點為“莊”字字符上的當前點,B點的亮度為150。圖7為本發明實施例的一個示例中選取B點為當前點的輪廓合并后的字符的輪廓圖。
[0123]以B為中心在9X9范圍內開小窗口,根據Gi,j =max( I Li+1, j-L1-1, j I,ILi, j-l-Li, j+1 I ),求出正方形窗口內所有點的梯度值,再根據公式SUMl =EGij,求出正方形閾值區域內所有點的梯度和SUMl = 2915。
[0124]根據公式SUM =Σ Li, j*Gij,求出正方形閾值區域內所有點的亮度與梯度值乘積的和 SUM = 295822。
[0125]根據公式th = SUM/SUM1-5,計算出比較閾值th = 96.4827。
[0126]比較A點亮度與比較閾值th的大小,150>96.4827,判斷當前點B為背景,將B點灰度調整為255。
[0127]選取“莊”字的輪廓的水平外接矩形內的除A、B點外的其它點為當前點,按照前述方法判斷各點是字符還是背景,得到“莊”字區域的二值化圖像。按照上述方法對其它字符進行二值化,得到圖8的二值化后的圖像。圖8為本發明實施例的一個示例中對待處理圖像進行二值化后的圖像。
[0128]綜上所述,本發明實施例通過確定目標字符的邊緣輪廓,進一步判斷邊緣輪廓內的各個像素點為背景像素點還是屬于字符的像素點,僅針對屬于目標字符的當前像素點進行二值化處理,依據本發明實施例,一方面在對圖像進行局部二值化處理時,僅僅針對有字符的地方進行二值化處理,沒有字符的地方不進行二值化處理,節約了大量的處理資源,力口快了圖像處理的速度。另一方面在對圖像進行局部二值化時,所開的窗口與字符相關,能夠根據字符作自適應調整,噪點少,二值化效果較好。
[0129]需要說明的是,對于前述的方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為依據本發明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作并不一定是本發明所必需的。
[0130]基于上述方法實施例的說明,本發明還提供了相應的對圖像進行字符識別的裝置實施例,來實現上述方法實施例所述的內容。
[0131]參照圖9,其示出了本發明實施例所述一種對圖像進行字符識別的裝置的結構框圖,包括:
[0132]輪廓查找模塊201,用于從待處理圖像找出目標字符的邊緣輪廓;
[0133]像素點判斷模塊202,用于在對所述目標字符進行二值化處理時,針對所述目標字符的邊緣輪廓中的各個像素點,分別作為當前像素點,判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像;
[0134]二值化處理模塊203,用于針對屬于所述目標字符的當前像素點進行二值化處理;
[0135]字符識別模塊204,用于對進行二值化處理的圖像進行字符識別。
[0136]本發明實施例中,優選地,所述輪廓查找模塊包括:
[0137]像素值比較子模塊,用于對待處理圖像中包含的各個像素點,對相鄰的兩個像素點的像素值進行比較;
[0138]像素值判斷子模塊,用于若相鄰兩個像素點的像素值的差值大于預設閥值,則將像素值較大的像素點所在位置作為所述目標字符的邊緣輪廓。
[0139]本發明實施例中,優選地,所述輪廓查找模塊還包括:
[0140]矩形確定子模塊,用于針對得到的邊緣輪廓,做出所述邊緣輪廓的水平外接矩形;
[0141]區域查找子模塊,用于查找所述待處理圖像中與所述水平外接矩形重合的部分以及與所述最小外界矩形距離2個像素以內的區域;
[0142]區域合并子模塊,用于將查找的區域合并入所述邊緣輪廓。
[0143]本發明實施例中,優選地,所述像素點判斷模塊包括:
[0144]閥值區域確定子模塊,用于以所述當前像素點為中心,以預設邊長確定一個正方形的閥值區域;
[0145]比較值統計子模塊,用于根據所述閥值區域內所有像素點的亮度統計所述閥值區域內亮度的比較值;
[0146]亮度比較子模塊,用于將所述當前像素點的亮度與所述比較值進行比較,若所述當前像素點的亮度大于所述比較值,則所述當前像素點為屬于所述目標字符的背景圖像,若所述當前像素點的亮度不大于所述比較值,則所述當前像素點為屬于所述目標字符。
[0147]本發明實施例中,優選地,所述比較值統計子模塊包括:
[0148]梯度值計算子單元,用于在所述閥值區域內計算每個像素點的梯度值,包括:計算所述像素點的左邊像素點的亮度與右邊像素點的亮度的第一絕對差值以及所述像素點的上邊像素點的亮度與下邊像素點的亮度的第二絕對差值,將所述第一絕對差值和所述第二絕對差值中最大的值作為所述梯度值;
[0149]梯度值之和計算子單元,用于計算所述閥值區域內所有像素點的梯度值的和;
[0150]比較值計算子模塊,用于計算所述閥值區域內各個像素點的亮度分別與所述梯度值的乘積的和,并除以所述梯度值的和,減去預設閥值的差作為所述比較值。
[0151]本發明實施例中,優選地,所述裝置還包括:
[0152]邊長計算模塊,用于計算所述目標字符的字符筆畫的寬度作為所述預設邊長;
[0153]所述邊長計算模塊包括:
[0154]輪廓掃描子模塊,用于對所述目標字符的邊緣輪廓按照預設的方向進行掃描;
[0155]寬度確定子模塊,用于統計每次掃描出現的相鄰輪廓像素之間的距離值,并將出現次數最多的距離值作為所述目標字符的字符筆畫的寬度。
[0156]本發明實施例通過確定目標字符的邊緣輪廓,進一步判斷邊緣輪廓內的各個像素點為背景像素點還是屬于字符的像素點,僅針對屬于目標字符的當前像素點進行二值化處理,依據本發明實施例,一方面在對圖像進行局部二值化處理時,僅僅針對有字符的地方進行二值化處理,沒有字符的地方不進行二值化處理,節約了大量的處理資源,加快了圖像處理的速度。另一方面在對圖像進行局部二值化時,所開的窗口與字符相關,能夠根據字符作自適應調整,噪點少,二值化效果較好。
[0157]對于上述圖對圖像進行字符識別的裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見圖1所示方法實施例的部分說明即可。
[0158]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
[0159]本領域技術人員易于想到的是:上述各個實施例的任意組合應用都是可行的,故上述各個實施例之間的任意組合都是本發明的實施方案,但是由于篇幅限制,本說明書在此就不一一詳述了。
[0160]本發明可用于眾多通用或專用的計算系統環境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統、基于微處理器的系統、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。
[0161]本發明可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本發明,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。
[0162]在本發明中,“組件”、“裝置”、“系統”等等指應用于計算機的相關實體,如硬件、硬件和軟件的組合、軟件或執行中的軟件等。詳細地說,例如,組件可以、但不限于是運行于處理器的過程、處理器、對象、可執行組件、執行線程、程序和/或計算機。還有,運行于服務器上的應用程序或腳本程序、服務器都可以是組件。一個或多個組件可在執行的過程和/或線程中,并且組件可以在一臺計算機上本地化和/或分布在兩臺或多臺計算機之間,并可以由各種計算機可讀介質運行。組件還可以根據具有一個或多個數據包的信號,例如,來自一個與本地系統、分布式系統中另一組件交互的,和/或在因特網的網絡通過信號與其它系統交互的數據的信號通過本地和/或遠程過程來進行通信。
[0163]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”,不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0164]而且,上文中的“和/或”表示本文既包含了 “和”的關系,也包含了 “或”的關系,其中:如果方案A與方案B是“和”的關系,則表示某實施例中可以同時包括方案A和方案B ;如果方案A與方案B是“或”的關系,則表示某實施例中可以單獨包括方案A,或者單獨包括方案B。
[0165]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0166]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0167]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0168]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0169]盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
[0170]以上對本發明所提供的一種對圖像進行字符識別的方法和對圖像進行字符識別的裝置,進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
【權利要求】
1.一種對圖像進行字符識別的方法,其特征在于,包括: 從待處理圖像找出目標字符的邊緣輪廓; 在對所述目標字符進行二值化處理時,針對所述目標字符的邊緣輪廓中的各個像素點,分別作為當前像素點,判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像; 若所述當前像素點屬于所述目標字符,則針對所述當前像素點進行二值化處理; 對進行二值化處理的圖像進行字符識別。
2.根據權利要求1所述的方法,其特征在于,所述從待處理圖像找出目標字符的邊緣輪廓包括: 對待處理圖像中包含的各個像素點,對相鄰的兩個像素點的像素值進行比較; 若相鄰兩個像素點的像素值的差值大于預設閥值,則將像素值較大的像素點所在位置作為所述目標字符的邊緣輪廓。
3.根據權利要求1所述的方法,其特征在于,所述從待處理圖像找出目標字符的邊緣輪廓還包括: 針對得到的邊緣輪廓,做出所述邊緣輪廓的水平外接矩形; 查找所述待處理圖像中與所述水平外接矩形重合的部分以及與所述最小外界矩形距離2個像素以內的區域,將查找的區域合并入所述邊緣輪廓。
4.根據權利要求1所述的方法,其特征在于,所述判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像包括: 以所述當前像素點為中心,以預設邊長確定一個正方形的閥值區域; 根據所述閥值區域內所有像素點的亮度統計所述閥值區域內亮度的比較值; 將所述當前像素點的亮度與所述比較值進行比較,若所述當前像素點的亮度大于所述比較值,則所述當前像素點為屬于所述目標字符的背景圖像,若所述當前像素點的亮度不大于所述比較值,則所述當前像素點為屬于所述目標字符。
5.根據權利要求4所述的方法,其特征在于,所述根據所述閥值區域內所有像素點的亮度統計所述閥值區域內亮度的比較值包括: 在所述閥值區域內計算每個像素點的梯度值,包括:計算所述像素點的左邊像素點的亮度與右邊像素點的亮度的第一絕對差值以及所述像素點的上邊像素點的亮度與下邊像素點的亮度的第二絕對差值,將所述第一絕對差值和所述第二絕對差值中最大的值作為所述梯度值; 計算所述閥值區域內所有像素點的梯度值的和; 計算所述閥值區域內各個像素點的亮度分別與所述梯度值的乘積的和,并除以所述梯度值的和,減去預設閥值的差作為所述比較值。
6.根據權利要求1所述的方法,其特征在于,所述方法還包括: 計算所述目標字符的字符筆畫的寬度作為所述預設邊長,進一步包括: 對所述目標字符的邊緣輪廓按照預設的方向進行掃描; 統計每次掃描出現的相鄰輪廓像素之間的距離值,并將出現次數最多的距離值作為所述目標字符的字符筆畫的寬度。
7.一種對圖像進行字符識別的裝置,其特征在于,包括: 輪廓查找模塊,用于從待處理圖像找出目標字符的邊緣輪廓; 像素點判斷模塊,用于在對所述目標字符進行二值化處理時,針對所述目標字符的邊緣輪廓中的各個像素點,分別作為當前像素點,判斷所述當前像素點屬于所述目標字符還是屬于所述目標字符的背景圖像; 二值化處理模塊,用于針對屬于所述目標字符的當前像素點進行二值化處理; 字符識別模塊,用于對進行二值化處理的圖像進行字符識別。
8.根據權利要求7所述的裝置,其特征在于,所述輪廓查找模塊包括: 像素值比較子模塊,用于對待處理圖像中包含的各個像素點,對相鄰的兩個像素點的像素值進行比較; 像素值判斷子模塊,用于若相鄰兩個像素點的像素值的差值大于預設閥值,則將像素值較大的像素點所在位置作為所述目標字符的邊緣輪廓。
9.根據權利要求7所述的裝置,其特征在于,所述輪廓查找模塊還包括: 矩形確定子模塊,用于針對得到的邊緣輪廓,做出所述邊緣輪廓的水平外接矩形; 區域查找子模塊,用于查找所述待處理圖像中與所述水平外接矩形重合的部分以及與所述最小外界矩形距離2個像素以內的區域; 區域合并子模塊,用于將查找的區域合并入所述邊緣輪廓。
10.根據權利要求7所述的裝置,其特征在于,所述像素點判斷模塊包括: 閥值區域確定子模塊,用于以所述當前像素點為中心,以預設邊長確定一個正方形的閥值區域; 比較值統計子模塊,用于根據所述閥值區域內所有像素點的亮度統計所述閥值區域內亮度的比較值; 亮度比較子模塊,用于將所述當前像素點的亮度與所述比較值進行比較,若所述當前像素點的亮度大于所述比較值,則所述當前像素點為屬于所述目標字符的背景圖像,若所述當前像素點的亮度不大于所述比較值,則所述當前像素點為屬于所述目標字符。
【文檔編號】G06K9/00GK104361312SQ201410549721
【公開日】2015年2月18日 申請日期:2014年10月16日 優先權日:2014年10月16日
【發明者】李健, 蘭志才, 張連毅, 武衛東 申請人:北京捷通華聲語音技術有限公司