本發(fā)明屬于圖像識別領(lǐng)域,尤其涉及一種臺標的本地識別方法和裝置。
背景技術(shù):
臺標,是指電視臺用于與其它電視臺區(qū)分的標識,其一般包括圖標、英文、數(shù)字和漢字中的一項或者多項。而隨著安卓系統(tǒng)的不斷發(fā)展,從手機到平板電視,從智能電視到工業(yè)醫(yī)療領(lǐng)域都得到了廣泛的應用,在安卓系統(tǒng)中播放電視節(jié)目時,常常會需要通過本地設備對電視節(jié)目的臺標進行識別。
現(xiàn)有電視臺標圖像中,有些電視臺的臺標圖像LOGO會動態(tài)的變化,比如有的臺標為動態(tài)變化的圓球,這種動態(tài)變化的圖像會導致根據(jù)圖像LOGO識別困難增加。另外有些臺標圖像LOGO會不定時的更新,對應的,也需要重新更新識別算法。而有些臺標圖像LOGO是一樣,只是后面添加數(shù)字來區(qū)分。針對這些臺標圖像LOGO情況,目前僅通過識別臺標圖像LOGO的方法對上述的情景識別不準確或者識別困難,也不便于擴展識別頻道數(shù)目。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種臺標的本地識別方法和裝置,以解決現(xiàn)有技術(shù)僅通過識別臺標圖像LOGO的方法對圖標變化,或者圖標相同,字符不同的情景識別不準確或者識別困難,也不便于擴展識別頻道數(shù)目的問題。
第一方面,本發(fā)明實施例提供了一種臺標的本地識別方法,所述方法包括:
獲取電視播放畫面中包括臺標字符在內(nèi)的臺標圖像;
根據(jù)投影法對所述臺標圖像進行字符分割,得到分割后的單個的字符圖像;
提取所述分割后的單個的字符圖像所對應的特征值,所述特征值為根據(jù)劃分的空間中滿足要求的像素所占有的比例;
將提取的特征值與預設的字符圖像特征值庫進行比較,確定當前臺標所對應的頻道名稱。
結(jié)合第一方面,在第一方面的第一種可能實現(xiàn)方式中,在所述根據(jù)投影法對所述臺標圖像進行字符分割,得到分割后的單個的字符圖像步驟之前,所述方法還包括:
對所述臺標圖像進行灰度處理,并根據(jù)灰度處理后的圖像進一步進行二值化處理。
結(jié)合第一方面或第一方面的第一種可能實現(xiàn)方式,在第一方面的第二種可能實現(xiàn)方式中,所述根據(jù)投影法對所述臺標圖像進行字符分割,得到分割后的單個的字符圖像步驟包括:
通過將所述臺標圖像進行水平投影,確定所述臺標圖像的臺標中字符的行數(shù)以及每一行的起始和結(jié)束位置;
通過將所述臺標圖像中每一行進行垂直投影,確定所述臺標圖像的臺標中每一行中字符的個數(shù)以及每個字符的起始和結(jié)束位置。
結(jié)合第一方面或第一方面的第一種可能實現(xiàn)方式,在第一方面的第三種可能實現(xiàn)方式中,在所述提取所述分割后的單個的字符圖像所對應的特征值步驟中包括數(shù)字和英文字符特征提取的步驟,所述數(shù)字和英文字符特征提取的步驟包括:
將所述字符圖像橫豎平分為n個網(wǎng)格,統(tǒng)計每個網(wǎng)絡內(nèi)滿足預設要求的像素點的個數(shù)得到n維向量;
將所述字符圖像垂直方向上平分為w個網(wǎng)格,統(tǒng)計每個網(wǎng)格內(nèi)滿足預設要求的像素點的個數(shù)得到w維向量;
將所述字符圖像豎直上平分為h個網(wǎng)格,統(tǒng)計每個網(wǎng)格內(nèi)滿足預設要求的像素點的個數(shù)得到h維向量;
根據(jù)上述n維向量、w維向量、h維向量得到所述字符圖像所對應的n+w+h維向量。
結(jié)合第一方面或第一方面的第一種可能實現(xiàn)方式,在第一方面的第四種可能實現(xiàn)方式中,所述提取所述分割后的單個的字符圖像所對應的特征值中步驟包括漢字字符特征的提取的步驟,所述漢字字符特征的提取的步驟包括:
統(tǒng)計所述字符圖像中的像素點屬于橫、豎、撇、捺四種筆畫的個數(shù),根據(jù)每種筆畫的像素點的個數(shù)構(gòu)成漢字圖像對應的四個向量參數(shù)。
結(jié)合第一方面的第四種可能實現(xiàn)方式,在第一方面的第五種可能實現(xiàn)方式中,所述統(tǒng)計所述字符圖像中的像素點屬于橫、豎、撇、捺四種筆畫的個數(shù)步驟包括:
P為二值化圖像,P(i,j)為圖像上的一個像素點,其中i為橫坐標,j為縱坐標;
若P(i,j)=1,且P(i-1,j)=1或者P(i+1,j)=1,則P(i,j)為筆畫橫的像素點;
若P(i,j)=1,且P(i,j-1)=1或者P(i,j+1)=1,則P(i,j)為筆畫豎的像素點;
若P(i,j)=1,且P(i-1,j+1)=1或者P(i+1,j-1)=1,則P(i,j)為筆畫撇的像素點;
若P(i,j)=1,且P(i-1,j-1)=1或者P(i+1,j+1)=1,則P(i,j)為筆畫捺的像素點。
結(jié)合第一方面,在第一方面的第六種可能實現(xiàn)方式中,所述將提取的特征值與預設的字符圖像特征值庫進行比較,確定當前臺標所對應的頻道名稱步驟包括:
根據(jù)提取的字符圖像的特征值的向量,與預先存儲在字符圖像特征值庫中的特征向量計算加權(quán)的距離;
根據(jù)計算的距離最小原則確定所述字符圖像所對應的字符;
根據(jù)識別的字符確定當前臺標所對應的頻道名稱。
結(jié)合第一方面的第六種可能實現(xiàn)方式,在第一方面的第七種可能實現(xiàn)方式中,所述將提取的特征值與預設的字符圖像特征值庫進行比較,確定當前臺標所對應的頻道名稱步驟之前,所述方法還包括:
判斷當前臺標圖像中的字符行數(shù)是否為兩行;
如果當前臺標圖像中的字符行數(shù)為兩行,則從區(qū)別性較高的行開始進行字符圖像的識別。
第二方面,本發(fā)明實施例提供了一種臺標的本地識別裝置,所述裝置包括:
圖像獲取單元,用于獲取電視播放畫面中包括臺標字符在內(nèi)的臺標圖像;
字符分割單元,用于根據(jù)投影法對所述臺標圖像進行字符分割,得到分割后的單個的字符圖像;
特征值提取單元,用于提取所述分割后的單個的字符圖像所對應的特征值,所述特征值為根據(jù)劃分的空間中滿足要求的像素所占有的比例;
頻道名稱確定單元,用于將提取的特征值與預設的字符圖像特征值庫進行比較,確定當前臺標所對應的頻道名稱。
結(jié)合第二方面,在第二方面的第一種可能實現(xiàn)方式中,所述裝置還包括:
灰度和二值化處理單元,用于對所述臺標圖像進行灰度處理,并根據(jù)灰度處理后的圖像進一步進行二值化處理。
在本發(fā)明中,通過將包括臺標字符的圖像進行字符分割,得到分割后的單個字符的圖像,并對每個字符圖像進行特征值的提取,并根據(jù)劃分的空間中滿足要求的像素所占有的比例作為特征值,將提取的特征值與預設的字符圖像特征庫中的特征值進行比較,從而可以得到每個字符圖像對應的字符,從而根據(jù)對應的字符確定電視播放畫面的頻道名稱。本發(fā)明由于對圖像進行字符分割后提取每個字符圖像中的劃分的空間中滿足要求的像素所占的比例,從而可以有效的提高對不同形狀的字符識別的準確率,并且對于具有部分相同字符的頻道,也可以有效的識別。
附圖說明
圖1是本發(fā)明實施例提供的臺標的本地識別方法的實現(xiàn)流程圖;
圖2是本發(fā)明實施例提供的數(shù)字和英文字符的特征提取的實現(xiàn)流程圖;
圖3是本發(fā)明實施例提供的漢字的特征提取的實現(xiàn)流程圖;
圖4為本發(fā)明實施例提供的臺標的本地識別裝置的結(jié)構(gòu)示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實施例的目的在于提供一種臺標的本地識別方法,以解決現(xiàn)有技術(shù)中,由于有些電視臺的臺標圖像LOGO會動態(tài)的變化,比如有的臺標為動態(tài)變化的圓球,這種動態(tài)變化的圖像會導致根據(jù)圖像LOGO識別困難增加。另外有些臺標圖像LOGO會不定時的更新,對應的,也需要重新更新識別算法。而有些臺標圖像LOGO是一樣,只是后面添加數(shù)字來區(qū)分。針對這些臺標圖像LOGO情況,目前僅通過識別臺標圖像LOGO的方法對上述的情景識別不準確或者識別困難,也不便于擴展識別頻道數(shù)目。
為解決該問題,本發(fā)明所述臺標的本地識別方法包括:獲取電視播放畫面中包括臺標字符在內(nèi)的臺標圖像;根據(jù)投影法對所述臺標圖像進行字符分割,得到分割后的單個的字符圖像;提取所述分割后的單個的字符圖像所對應的特征值,所述特征值為根據(jù)劃分的空間中滿足要求的像素所占有的比例;將提取的特征值與預設的字符圖像特征值庫進行比較,確定當前臺標所對應的頻道名稱。
通過將包括臺標字符的圖像進行字符分割,得到分割后的單個字符的圖像,并對每個字符圖像進行特征值的提取,并根據(jù)劃分的空間中滿足要求的像素所占有的比例作為特征值,將提取的特征值與預設的字符圖像特征庫中的特征值進行比較,從而可以得到每個字符圖像對應的字符,從而根據(jù)對應的字符確定電視播放畫面的頻道名稱。本發(fā)明由于對圖像進行字符分割后提取每個字符圖像中的劃分的空間中滿足要求的像素所占的比例,從而可以有效的提高對不同形狀的字符識別的準確率,并且對于具有部分相同字符的頻道,也可以有效的識別。下面結(jié)合附圖具體說明。
圖1示出了本發(fā)明實施例提供的臺標的本地識別方法的實現(xiàn)流程,詳述如下:
在步驟S101中,獲取電視播放畫面中包括臺標字符在內(nèi)的臺標圖像。
具體的,本發(fā)明實施例中所述的電視播放畫面,可以在電視節(jié)目正在播放 時截取畫面,比如,可以為當電視畫面為播放狀態(tài)時,通過Android截屏接口獲取到當前播放視頻畫面,并保存為圖片文件。
其中,所述保存的臺標圖像中,包括臺標的LOGO圖像和臺標中的字符圖像??梢愿鶕?jù)電視頻道中設置的臺標位置,并根據(jù)電視畫面的大小所對應的比例,準確的獲取到所述臺標圖像。
在步驟S102中,根據(jù)投影法對所述臺標圖像進行字符分割,得到分割后的單個的字符圖像。
對所述臺標圖像進行字符分割的目的在于,可以將臺標中的字符提取出來單獨進行比較判斷,并且結(jié)合后續(xù)的特征提取方法,精確的確定電視節(jié)目的頻道名稱。
在進行字符分割前,作為本發(fā)明優(yōu)選的一種實施方式,本發(fā)明還可包括對所述臺標圖像進行灰度處理,并根據(jù)灰度處理后的圖像進一步進行二值化處理的步驟,具體敘述如下:
首先,對臺標圖像進行灰度化處理:
在步驟S101中獲取的臺標圖像一般是彩色圖像,有必要對該圖像進行灰度化處理。圖像的灰度化是指將彩色圖像轉(zhuǎn)化為灰度圖像?;叶葓D像只含有亮度信息而不包含色彩信息。圖像灰度化的目的是為了除去圖像中多數(shù)無用的色彩信息,從而改善圖像的畫面質(zhì)量,使圖像顯示的效果更加簡單清晰。RGB圖像是圖像處理經(jīng)常使用的一種圖像格式,RGB中,R是Red,代表圖像像素顏色的紅色分量,G是Green,代表圖像像素顏色的綠色分量,B是Blue,代表圖像像素顏色的藍色分量,若R=G=B,則由這三個分量構(gòu)成的顏色在視覺上呈現(xiàn)灰色,表示一種灰度顏色,其中R、G、B的數(shù)值被稱作該圖像的灰度值,在這里用g來表示。通常在一幅彩色圖像中,往往會存儲大量的顏色信息,圖像的每個像素都具有不同的R、G、B分量,所以需要占據(jù)的存儲空間很大,而這些顏色信息在后續(xù)的圖像處理中并不都能起到多少作用,相反,顏色信息的差異往往會對圖像分析的結(jié)果產(chǎn)生反作用,且進行處理時也會浪費很多的系統(tǒng)資源,降低 系統(tǒng)的效率。
考慮到Android設備的廣泛使用,以及移動設備資源和處理能力有限,有必要先減少彩色RGB圖像中的顏色信息,將彩色RGB圖像轉(zhuǎn)變?yōu)榛叶葓D像,以節(jié)省設備的資源,提高設備處理效率。R、G、B各個分量的取值范圍是0-255,因此灰度級別是256級。本文采用加權(quán)平均值法進行灰度化處理:根據(jù)實際情況對R、G、B賦予不同的權(quán)值WR、WG、WB,再取他們的加權(quán)平均值,即 其中,權(quán)值WR、WG、WB可以先設置初始值,可根據(jù)圖像處理情況及時調(diào)整。
然后,將灰度化處理后的圖像進行二值化處理。當然,作為一種可能的實現(xiàn)方式,也可以直接將臺標圖像進行二值化處理。
圖像二值化即將灰度圖像中的各點原先的灰度值(例如0—255)置為最小0或最大255,只有這兩個值,沒有其他任何的中間值,從而將一副連續(xù)灰度變化的圖像轉(zhuǎn)換成一副黑白圖像,只有黑(灰度值為0)或白(灰度值為255)。圖像二值化的目的是將圖像中感興趣的目標與圖像的背景進行分離,以方便后續(xù)的特征提取。經(jīng)過二值化處理后的圖像,邊緣輪廓特別清楚,可以達到突出目標、淡化背景的作用。圖像二值化的基本思想是先確定一個閾值,然后將所有像素的灰度值與這個值進行比較。若灰度大于等于閾值,則將原灰度值用255替換;反之,若灰度小于閾值,則將灰度值改為0。其中,閾值可以先設初始值,并根據(jù)圖像處理情況進行再次調(diào)整。圖像二值化處理使得圖像中的背景和目標具有比灰度圖更大的對比度,同時圖像的數(shù)據(jù)量也比灰度圖少,這樣不僅能提高圖像處理的效率,也能有效突出感興趣目標的邊緣輪廓及其大小和位置,為進一步的圖像分析和處理作好基礎(chǔ)。
在對臺標圖像進行灰度處理和二值化處理后,即可高效的對臺標圖像進行字符分割的步驟,字符分割過程包括:
通過將所述臺標圖像進行水平投影,確定所述臺標圖像的臺標中字符的行 數(shù)以及每一行的起始和結(jié)束位置;
通過將所述臺標圖像中每一行進行垂直投影,確定所述臺標圖像的臺標中每一行中字符的個數(shù)以及每個字符的起始和結(jié)束位置。
具體敘述如下:
在處理后的二值化臺標圖像中,通常像素值為255的是白色點,即圖像背景,像素值為0的是黑色點,代表字符,如果某行或某列都是背景的話,那么該行或者列的投影一定是白色,由于字符間都存在間隔,因此字符與字符之間的間隔的投影也都是白色,根據(jù)這個規(guī)律,臺標圖像中的字符與字符之間可進行分離。
字符分割是將臺標圖像中的多個字符分割成多個單字符圖像,目的是盡可能的去除字符邊緣的背景信息,得到準確包含單個字符邊緣的最小字符圖像。在本文中,采用基于投影法的字符分割技術(shù)對臺標圖像中的字符進行字符分割。
投影法就是數(shù)字圖像在某一個方向上進行像素累加,投影法應用到字符分割時通常有水平方向和垂直方向上的投影。二值化的字符圖像在水平方向上的像素分布圖中行與行之間有較大的空隙,這可以作為行切分的標準。行切分之后可以利用垂直投影進行字切分,原理相同。
由于部分臺標圖像中包含兩行字符,比如CCTV-13等央視臺標,其中,“CCTV-13”字符位于上面,“新聞”字符位于下面。因此本文釆用基于二維投影法(垂直投影和水平投影)的字符分割方法對字符進行精確分割。具體方法分為兩步即兩次切分,第一次切分是水平投影,確定臺標圖像中的字符行數(shù),第二次是對第一次的切分結(jié)果即每一行進行字符切割,獲取到該行中每一個字符。
具體過程如下:
第一次切分是對臺標圖像作水平投影,實現(xiàn)步驟如下:
(l)對灰度圖像進行水平投影,統(tǒng)計每一行的像素灰度值之和,將結(jié)果存放在數(shù)組CountHorizontal[jHorizontal]中,其中jHorizontal表示圖像的行。設widthHorizontal為圖像的寬度,THorizontal為判斷某一行是否是字符區(qū)域的閾值, THorizontal可設置初始值,并根據(jù)分割情況調(diào)整。StartHorizontal為單行字符區(qū)域的開始位置;EndHorizontal為單行字符區(qū)域的結(jié)束位置;CharacterHorizontal[NHorizontal]用于表示行數(shù)。初始化時jHorizontal=0,StartHorizontal=0,EndHorizontal=0,NHorizontal=0。
(2)jHorizontal++,若jHorizontal<widthHorizontal,則轉(zhuǎn)至(3)繼續(xù)執(zhí)行;若jHorizontal≥widthHorizontal,則退出循環(huán)。
(3)若第jHorizontal行的像素灰度值之和滿足CountHorizontal[jHorizontal]≤THorizontal,則表明此行為背景,轉(zhuǎn)至(4);反之表明此行是字符區(qū)域,轉(zhuǎn)至(5)。
(4)若StartHorizontal=0,表明此行不是字符區(qū)域,轉(zhuǎn)至(2);若StartHorizontal≠0,表明此行為背景與字符區(qū)域的分界處,則EndHorizontal=jHorizontal-1,若EndHorizontal≠StartHorizontal轉(zhuǎn)至(6),否則退出循環(huán)。
(5)若StartHorizontal=0,表明此行為字符區(qū)域的開始位置,則StartHorizontal=jHorizontal,轉(zhuǎn)至(2);若StartHorizontal≠0,表明此行仍在字符區(qū)域內(nèi),轉(zhuǎn)至(2)。
(6)NHorizontal++,記錄第NHorizontal行。并更新開始位置StartHorizontal=EndHorizontal+NHorizontal*THorizontal。
當退出循環(huán)時候,NHorizontal即是總行數(shù)。
上述方法即通過判斷一行中的像素的灰度值之和是否大于預設的灰度值閾值,如果大于,則表示該行為字符行,然后對下一行進行比較,直到對臺標圖像的最后行。
第二次切分是垂直投影,實現(xiàn)步驟如下:
(l)對上述水平投影的每一行進行垂直投影,統(tǒng)計每一列的像素灰度值之和,將結(jié)果存放在數(shù)組CountVertical[jVertical]中,其中jVertical表示圖像的列。設 widthVertical為圖像的寬度。TVertical為判斷某一列是否是字符區(qū)域的閾值,TVertical可設置初始值,并根據(jù)分割情況調(diào)整。StartVertical為單個字符區(qū)域的開始位置;EndVertical為單個字符區(qū)域的結(jié)束位置;MapCharacterVertical<NVertical,Map<StartVertical,EndVertical>>用于表示字符個數(shù)與其起始坐標、結(jié)束坐標對應關(guān)系,其中NVertical是第幾個字符,而StartPot和EndPot分別是該字符的起始坐標與結(jié)束坐標。初始化時jVertical=0,StartVertical=0,EndVertical=0,NVertical=0。
(2)jVertical++,若jVertical<widthVertical,則轉(zhuǎn)至(3)繼續(xù)執(zhí)行;若jVertical≥widthVertical,則退出循環(huán)。
(3)若第jVertical列的像素灰度值之和滿足CountVertical[jVertical]≤TVertical,則表明此列為背景,轉(zhuǎn)至(4);反之表明此列是字符區(qū)域,轉(zhuǎn)至(5)。
(4)若StartVertical=0,表明此列不是字符區(qū)域,轉(zhuǎn)至(2);若StartVertical≠0,表明此列為背景與字符區(qū)域的分界處,則EndVertical=jVertical-1,若EndVertical≠StartVertial轉(zhuǎn)至(6),否則退出循環(huán)。
(5)若StartVertical=0,表明此列為字符區(qū)域的開始位置,則StartVertical=jVertical,轉(zhuǎn)至(2);若StartVertical≠0,表明此列仍在字符區(qū)域內(nèi),轉(zhuǎn)至(2)。
(6)NVertical++,記錄第NVertical個字符以及其開始坐標StartPot和結(jié)束坐標EndPot,并更新開始位置StartVertical=EndVertical+NVertical*TVertical。
當退出循環(huán)時,MapCharacterVertical<NVertical,Map<StartVertical,EndVertical>>的大小就是每行字符總數(shù),并且根據(jù)MapCharacterVertical<NVertical,Map<StartVertical,EndVertical>>get(i)可獲取到第i個字符與其開始坐標和結(jié)束坐標。
同樣,通過對每列的像素的灰度值的和與預定的灰度值閾值比較,如果大于預定的灰度值閾值,則表示當前列為字符區(qū)域,如果小于預定的灰度值閾值, 則說明當前為空白區(qū)域,可能為字符間的間隙或者為行的開始或者末尾。
在步驟S103中,提取所述分割后的單個的字符圖像所對應的特征值,所述特征值為根據(jù)劃分的空間中滿足要求的像素所占有的比例。
具體的,字符特征的提取就是從原始圖像的大量信息中提取出最能凸顯事物本質(zhì)特征的少量信息作為字符識別的依據(jù)。在字符識別系統(tǒng)中,特征提取是影響字符識別率高低的決定性因素。本提案針對臺標圖像中字符的特性,包含英文字符、數(shù)字字符以及漢字字符的特點,分別采用不同的特征提取方法。具體如下:
首先,對數(shù)字和英文字符進行網(wǎng)格特征提取,方法主要是將圖像平均分成n等份,把網(wǎng)格內(nèi)黑像素數(shù)所占的比例作為特征。具體提取步驟如圖2所示,具體敘述如下:
(201)首先將字符圖像橫豎平分成n個網(wǎng)格,舉例如4個網(wǎng)格,記為{a1,a2,a3,a4},統(tǒng)計各網(wǎng)格內(nèi)黑色像素點的個數(shù),形成一個4維的向量。
(202)其次在垂直方向平分成w個網(wǎng)格,舉例如4個網(wǎng)格,記為{a5,a6,a7,a8},分別統(tǒng)計各網(wǎng)格內(nèi)黑色像素點個數(shù),也形成一個4維向量。
(203)同理在水平方向平分成h個網(wǎng)格,舉例如4個網(wǎng)格,記為{a9,a10,a11,a12},分別統(tǒng)計各網(wǎng)格內(nèi)黑色像素點個數(shù),也形成一個4維向量。
(204)根據(jù)上述方法,統(tǒng)計每個字符的n+w+h維,如上述12維像素點個數(shù),保存到模板特征庫中。其中,n、w、h可根據(jù)提取的特征值情況進行再次調(diào)整。
雖然漢字的筆畫種類雖然繁多,但總結(jié)起來基本的筆畫只有四種:橫、豎、撇、捺,其它復雜的筆畫都是由這四種基本筆畫組合而成的。對二值化的圖像按照四種筆畫成分進行標記,通過把屬于不同筆畫成分的像素點歸納為不同的集合,可以標記出漢字的四種筆畫,然后記錄每種筆畫集合的像素點個數(shù)可以得到漢字的筆畫的四個向量參數(shù)。
綜上,漢字除了提取網(wǎng)格特征,還提取橫、豎、撇、捺特征,在匹配識別時候,先匹配網(wǎng)格n+w+h個區(qū)域(比如上述12維)的特征,再匹配橫、豎、 撇、捺的特征。
設P為二值化的圖像,P(i,j)為圖像中的一個像素點,坐標原點位于圖像的左上角,其中i為橫坐標,j為縱坐標。
采用H表示橫筆畫像素點的集合,當前像素點為P(i,j),若P(i,j)=1,且P(i-1,j)=1或P(i+1,j)=1,則P(i,j)∈H。
采用V表示豎筆畫像素點的集合。當前像素點為P(i,j),若P(i,j)=1,且P(i,j-1)=1或P(i,j+1)=1,則P(i,j)∈V。
采用P表示撇筆畫像素點的集合。當前像素點為P(i,j),若P(i,j)=1,且P(i+1,j-1)=1或P(i-1,j+1)=1,則P(i,j)∈P。
采用N表示捺筆畫像素點的集合。當前像素點為P(i,j),若P(i,j)=1,且P(i-1,j-1)=1或P(i+1,j+1)=1,則P(i,j)∈N。
采用CountH表示某一文字圖像中橫筆畫的像素點個數(shù),CountV表示某一文字圖像中豎筆畫的像素點的個數(shù),CountP表示某一文字圖像中撇筆畫的像素點的個數(shù),CountN表示某一文字圖像中捺筆畫的像素點的個數(shù)。
定義了上述集合之后,按照從上至下、從左至右的順序掃描漢字圖像P,掃描之后就可以確定某個像素點隸屬于哪一種筆畫或哪幾種筆畫,分別記錄四種筆畫的像素點個數(shù),從而得到一個四維的特征向量{CountH,CountV,CountP,CountN},加上上述n+w+h維網(wǎng)格特征,新特征值就代表了一個漢字的特征。
在步驟S104中,將提取的特征值與預設的字符圖像特征值庫進行比較,確定當前臺標所對應的頻道名稱。
臺標圖像中字符特征為n(舉例如{a1,a2,a3,a4})、w(舉例如{a5,a6,a7,a8})、h(舉例如{a9,a10,a11,a12})、{CountH,CountV,CountP,CountN},由于當前需要識別的臺標數(shù)和臺標名稱是確定的,將上述n+w+h和{CountH,CountV,CountP,CountN},舉例如16個特征作為待識別字符的特征量,通過計算臺標列表中的每一個臺標 名稱中字符的特征,形成系統(tǒng)所用的標準模板字庫。
根據(jù)上述提取出的網(wǎng)格特征與漢字特征,求出各個模板特征向量的加權(quán)距離,加權(quán)距離最小的即為識別結(jié)果,進行字符識別。字符識別具體步驟如圖3所示,敘述如下:
301).如前所述計算字符模板網(wǎng)格特征一樣,將待識別字符圖像也分為n+w+h(舉例如12)個區(qū)域。
302).如前所述計算漢字特征一樣,計算待識別字符圖像的橫、豎、撇、捺特征。
303).將上述計算的待識別字符的n+w+h和{CountH,CountV,CountP,CountN}特征與模塊的n+w+h和{CountH,CountV,CountP,CountN}進行模板匹配,求匹配差異度。舉例如待識別字符與模板的{a1,a2,a3,a4}、{a5,a6,a7,a8}、{a9,a10,a11,a12}、{CountH,CountV,CountP,CountN}維特征值進行匹配。
304).對差異度求和。
305).依次提取模板的n+w+h和{CountH,CountV,CountP,CountN}(舉例如16維)區(qū)域與待識別字符圖像相應區(qū)域進行匹配,計算各個模板與待識別字符的累加差異度,取累加差異度最小的,所對應的模板即為識別結(jié)果。當然,也可以通過計算向量間的距離值,取距離值最小的向量對應的字符為匹配的字符。
在對字符識別后,即可根據(jù)識別后的字符進行臺標的識別。本發(fā)明實施例對臺標的識別過程,可以根據(jù)臺標的行數(shù),優(yōu)先判斷區(qū)別性較高的行,通常為第二行字符,比如中央電視臺的第二行字符通常為漢字,包括如“新聞”、“戲曲”等。
臺標識別的流程如下:
401.根據(jù)前文所述水平投影的方法確定當前臺標圖像的字符行數(shù);
402.如果是兩行,則開始識別其區(qū)別性較高的字符所在行,如果不是,則開始識別當前行的字符;
403.根據(jù)前文所述垂直投影的方法確定當前行中字符個數(shù)以及每個字符的 開始坐標與結(jié)束坐標;
404.遍歷所有字符個數(shù)并開始識別,所有字符是否識別完畢,如果是跳轉(zhuǎn)到405,否則跳轉(zhuǎn)到406;
405.整合所有字符識別結(jié)果即為臺標識別結(jié)果,退出循環(huán);
406.獲取當前行字符中第i個字符以及其開始坐標和結(jié)束坐標。其中i=1。
407.根據(jù)前文所述的字符識別方法,判斷第i個字符是否識別出。如果是跳轉(zhuǎn)到408,否則跳轉(zhuǎn)到412;
408.遍歷臺標列表中所有頻道名稱中首字符,判斷該首字符是否與上述識別出的字符相同。如果是跳轉(zhuǎn)到409,否則跳轉(zhuǎn)到413;
409.在臺標列表所有頻道名稱中找到首字符是該字符的所有頻道名稱;
410.判斷上述找到的頻道名稱在臺標列表所有頻道名稱中的唯一性,如果是跳轉(zhuǎn)到411,否則跳轉(zhuǎn)到413;
411.得出臺標識別結(jié)果,退出循環(huán);
412.重新獲取該字符特征并更新模板庫,即對模板庫中字符與特征值的對應關(guān)系進行更新;
413.獲取下一個字符,即對下一個字符進行識別。
圖4為本發(fā)明實施例提供的臺標的本地識別裝置的結(jié)構(gòu)示意圖,詳述如下:
本發(fā)明實施例中所述的臺標的本地識別裝置,包括:
圖像獲取單元4001,用于獲取電視播放畫面中包括臺標字符在內(nèi)的臺標圖像;
字符分割單元4002,用于根據(jù)投影法對所述臺標圖像進行字符分割,得到分割后的單個的字符圖像;
特征值提取單元4003,用于提取所述分割后的單個的字符圖像所對應的特征值,所述特征值為根據(jù)劃分的空間中滿足要求的像素所占有的比例;
頻道名稱確定單元4004,用于將提取的特征值與預設的字符圖像特征值庫進行比較,確定當前臺標所對應的頻道名稱。
優(yōu)選的,所述裝置還包括:
灰度和二值化處理單元,用于對所述臺標圖像進行灰度處理,并根據(jù)灰度處理后的圖像進一步進行二值化處理。
本發(fā)明實施例中所述的臺標的本地識別裝置與圖1-圖4中所述的臺標的本地識別方法對應,在此不作重復贅述.
在本發(fā)明所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲 介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。