一種在yuv圖像上疊加文字的方法
2023-05-18 16:40:06
專利名稱:一種在yuv圖像上疊加文字的方法
技術領域:
本發明屬於視頻圖像處理的技術領域,具體涉及到一種在YUV圖像上疊加文字的方法。
背景技術:
在視頻監控行業中,YUV (Y是明亮度,即灰階值;U、V是色度,用來描述圖像色彩及飽和度)圖像上疊加的文字往往使用點陣字體。使用點陣字體的優點是技術成熟、處理速度快,但它有以下兩個主要缺點。I.字體不夠美觀,當文字放大(或縮小)後,文字模糊。2.字體顏色單一,當文字顏色與視頻圖像的顏色接近或相同時,無法辨認文字。
發明內容
本發明的技術解決問題是克服現有技術的不足,提供一種在視頻圖像上呈現清晰、美觀的符號的在YUV圖像上疊加文字的方法。本發明的技術解決方案是這種在YUV圖像上疊加文字的方法,包括以下步驟(I)生成矢量字體字符串的Y圖像;(2)計算文字輪廓;(3)把字符串疊加到視頻YUV圖像。由於矢量字體本身就能夠克服放大(或縮小)後文字的失真問題,而又實現帶輪廓的顯示效果,這樣不論視頻圖像是什麼顏色都能夠很容易的識別出文字,所以本方法能夠在視頻圖像上呈現清晰、美觀的符號。
圖I為根據本發明的步驟(2. 3)的示意圖;圖2為根據本發明的步驟(2)的流程圖。
具體實施例方式這種在YUV圖像上疊加文字的方法,包括以下步驟(I)生成矢量字體字符串的Y圖像;(2)計算文字輪廓;(3)把字符串疊加到視頻YUV圖像。由於矢量字體本身就能夠克服放大(或縮小)後文字的失真問題,而又實現帶輪廓的顯示效果,這樣不論視頻圖像是什麼顏色都能夠很容易的識別出文字,所以本方法能夠在視頻圖像上呈現清晰、美觀的符號。優選地,所述步驟(I)包括以下分步驟(I. I)選取矢量字體文件,初始化矢量字體引擎,設置字體的高度、寬度、角度、筆畫粗細、傾斜、下劃線這些參數;(I. 2)根據輸入的文字串的編碼信息,逐一提取文字的字模信息,然後把字模的輪廓信息光柵化;(1.3)計算字符串位圖範圍,當字符串位圖的範圍超過視頻YUV圖像的範圍時,裁剪超出的部分;(I. 4)把單個字符的RGB位圖數據拼接成完整的字符串RGB位圖,位圖的背景色定義為黑色,即1 = 0,6 = 0,8 = 0,文字的顏色定義為白色,S卩R = 255,G = 255,B = 255, 其中R為紅色,G為綠色,B為藍色;(此時定義的文字顏色並不是最終圖像上的文字顏色, 只是為了便於後續計算把文字顏色定義為白色)(I. 5)根據以下公式,把字符串位圖轉換為只有Y值的二維矩陣,Y即亮度值,Y= (33B+65G+13B)/128+16,Ye [16,235],其中 Y 是明亮度,即灰階值。(該公式用簡單的整數運算代替了複雜的浮點數運算,並且省略了 U、V值的計算,大大提高了轉換的效率)優選地,所述步驟(2)包括以下分步驟(2. I)把Y矩陣拆分為多個3X3矩陣,若3X3矩陣的周圍8個點中至少有I個點不是背景色並且中心點是背景色,該點就是文字的輪廓,則執行步驟(2.2);若3乂3矩陣的周圍8個點都是背景色並且中心點是背景色,該點就是背景,則執行步驟(2.3);(2. 2)把該點改為輪廓色;(2. 3)不修改該點的顏色;(2.4)重複執行步驟(2. 1)_(2.3),遍歷每一個3X3矩陣,標識出完整的文字輪廓。優選地,所述步驟(3)包括以下分步驟(3. I)根據YUV數據的格式、字符串的起始位置和字符串YUV圖像的尺寸,把字符串Y數據映射到YUV圖像上;(3. 2)把文字色映射成最終的文字顏色,把輪廓色映射成最終的輪廓顏色;(3. 3)不映射背景色,即對背景色做透明處理;(3.4)重複步驟(3.2)-(3.3),遍歷每一個Y矩陣的點,把文字和輪廓繪製到視頻 YUV圖像上。當前,視頻的幀率大多為24幀/秒 30幀/秒。這隻意味著,每秒鐘需要重複上述步驟24次 30次。這樣高頻率的進行複雜的運算,會大幅度降低效率。因為視頻圖像上的文字信息並不會在每一幀圖像都改變,當前視頻幀的文字信息與上一幀相同時,可以在處理上一幀數據時保存步驟(I. 1)-(1.5)和(2. 1)-(2.4)的中間結果,當前幀就可以使用中間結果跳過步驟(I. 1)-(1.5)和(2. I)-(2. 4),只進行步驟(3. 1)-(3. 3)。這樣可以大大提高在YUV圖像上疊加帶輪廓矢量文字的效率。以上所述,僅是本發明的較佳實施例,並非對本發明作任何形式上的限制,凡是依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發明技術方案的保護範圍。
權利要求
1.一種在YUV圖像上疊加文字的方法,其特徵在於,包括以下步驟(1)生成矢量字體字符串的Y圖像;(2)計算文字輪廓;(3)把字符串疊加到視頻YUV圖像。
2.根據權利要求I所述的方法,其特徵在於,所述步驟(I)包括以下分步驟(I. D選取矢量字體文件,初始化矢量字體引擎,設置字體的高度、寬度、角度、筆畫粗細、傾斜、下劃線這些參數;(I. 2)根據輸入的文字串的編碼信息,逐一提取文字的字模信息,然後把字模的輪廓信息光柵化;(1.3)計算字符串位圖範圍,當字符串位圖的範圍超過視頻YUV圖像的範圍時,裁剪超出的部分;(I. 4)把單個字符的RGB位圖數據拼接成完整的字符串RGB位圖,位圖的背景色定義為黑色,即R = 0,G = 0,B = 0,文字的顏色定義為白色,即R = 255, G = 255, B = 255,其中 R為紅色,G為綠色,B為藍色;(1.5)根據以下公式,把字符串位圖轉換為只有Y值的二維矩陣,Y即亮度值,Y= (33B+65G+13B)/128+16,Y e [16,235],其中 Y 是明亮度,即灰階值。
3.根據權利要求2所述的方法,其特徵在於,所述步驟(2)包括以下分步驟(2. I)把Y矩陣拆分為多個3 X 3矩陣,若3 X 3矩陣的周圍8個點中至少有I個點不是背景色並且中心點是背景色,該點就是文字的輪廓,則執行步驟(2.2);若3乂3矩陣的周圍 8個點都是背景色並且中心點是背景色,該點就是背景,則執行步驟(2.3);(2. 2)把該點改為輪廓色;(2. 3)不修改該點的顏色;(2.4)重複執行步驟(2.1)-(2. 3),遍歷每一個3X3矩陣,標識出完整的文字輪廓。
4.根據權利要求3所述的方法,其特徵在於,所述步驟(3)包括以下分步驟(3. I)根據YUV數據的格式、字符串的起始位置和字符串YUV圖像的尺寸,把字符串Y 數據映射到YUV圖像上;(3. 2)把文字色映射成最終的文字顏色,把輪廓色映射成最終的輪廓顏色;(3. 3)不映射背景色,即對背景色做透明處理;(3.4)重複步驟(3.2)-(3. 3),遍歷每一個Y矩陣的點,把文字和輪廓繪製到視頻YUV 圖像上。
全文摘要
公開了一種在視頻圖像上呈現清晰、美觀的符號的在YUV圖像上疊加文字的方法,包括以下步驟(1)生成矢量字體字符串的Y圖像;(2)計算文字輪廓;(3)把字符串疊加到視頻YUV圖像。
文檔編號H04N5/278GK102595055SQ201210049498
公開日2012年7月18日 申請日期2012年2月29日 優先權日2012年2月29日
發明者鄧烽 申請人:北京漢邦高科數位技術股份有限公司