專利名稱:一種基于前景與背景色差確定鍵值的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻及圖像的特效處理及合成技術(shù)領(lǐng)域,具體涉及一種基于前景與背
景色差確定鍵值的方法。本發(fā)明尤其適用于高質(zhì)量、高效率的視頻或圖像的特效處理及合 成中。
背景技術(shù):
在圖像或視頻處理軟件中,將圖像或視頻中某一類顏色摳掉是一種很廣泛的需 求。這類方法的實(shí)質(zhì)就是給定一種顏色(也可能附加別的參數(shù))對圖像中每個像素都計算 出一個鍵值,圖像中和這個顏色相同或接近的顏色的像素的鍵值為零或者比較小,顏色相 差比較大的像素的鍵值比較大或者為1。那么這個鍵值就可以作為該圖像與背景圖像進(jìn)行 合成時的alpha通道,從而達(dá)到摳像的目的。 在實(shí)際拍攝中,經(jīng)常是物體在相同的背景中活動,需要將物體提取出來放到新的 背景中。如果采用傳統(tǒng)的色鍵就需要選取摳像顏色,然后經(jīng)過一系列操作將活動物體提取 出來。這種方法處理的速度較慢,而且對于活動物體也不容易將原始背景摳干凈。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的是提供一種速度既快、效果又好的基 于前景與背景色差確定鍵值的方法。 為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為,一種基于前景與背景色差確定鍵 值的方法,包括以下步驟 (1)輸入兩幅圖像,一幅圖像是沒有活動物體的背景圖,一幅圖像是有活動物體的 前景圖,兩幅圖像的背景相同; (2)依次計算兩幅圖像中相對應(yīng)像素的B-G-R分量的色差,并根據(jù)容忍度和軟邊 對色差進(jìn)行調(diào)整,將調(diào)整后色差的最大值作為該像素的鍵值Key ;
(3)將鍵值Key限幅在
區(qū)間之內(nèi)。 如上所述的一種基于前景與背景色差確定鍵值的方法,步驟(2)中計算兩幅圖像
中相對應(yīng)像素的B-G-R分量的色差采用如下公式PixelDifColorRed = | (PixelF皿tRed-PixelBackRed) | ,PixelDifColorGreen = |(PixelFrontGreen-PixelBackGreen)|,PixelDifColorBlue = | (PixelF皿tBlue-PixelBackBlue) | ;其中,PixelDifColorRed表示像素R分量的色差,PixelFrontRed表示前景圖
中像素的R分量值,PixelBackRed表示與前景圖中像素相對應(yīng)的背景圖中像素的R分量
值;PixelDifColorGreen表示像素G分量的色差,PixelFrontGreen表示前景圖中像素
的G分量值,PixelBackGreen表示與前景圖中像素相對應(yīng)的背景圖中像素的G分量值;
PixelDifColorBlue表示像素B分量的色差,PixelFrontBlue表示前景圖中像素的B分量
值,PixelBackGreen表示與前景圖中像素相對應(yīng)的背景圖中像素的B分量值。
如上所述的一種基于前景與背景色差確定鍵值的方法,步驟(2)中根據(jù)容忍度和 軟邊對色差進(jìn)行調(diào)整采用如下公式PixelDifColorRed' =max(0, (PixelDifColorRed—ToleranceRed));
如果SoftnessRed不等于O,則PixelDifColorRed" = PixelDifColorRed' /SoftnessRed; 如果PixelDifColorRed"大于等于O,則PixelDifColorRed" ' = min(1,PixelDifColorRed"); 如果PixelDifColorRe d〃小于0,則PixelDifColorRed" ' =1; PixelDifColorGreen' =max(0, (PixelDifColorGreen-ToleranceGreen)); 如果SoftnessGreen不等于0,貝U PixelDifColorGreen" = PixelDifColorGreen' /SoftnessGreen ; 如果PixelDifColorGreen"大于等于O,則PixelDifColorGreen" ' = min(1,PixelDifColorGreen"); 如果PixelDifColorGreen"小于O,則PixelDifColorGreen" ' =1;PixelDifColorBlue' =max(0, (PixelDifColorBlue-ToleranceBlue)); 如果SoftnessBlue不等于0,則PixelDifColorBlue" = PixelDifColorBlue' /SoftnessBlue; 如果PixelDifColorBlue"大于等于O,則PixelDifColorBlue" ' = min(l,PixelDifColorBlue"); 如果PixelDifColorBlue"小于O,則PixelDifColorBlue" ' =1;其中,PixelDifColorRed' 、PixelDifColorRed〃表示像素R分量色差調(diào)整過程中
的中間值,PixelDifColorRed"'表示像素R分量色差的最終值;PixelDifColorGreen'、
PixelDifColorGreen"表示像素G分量色差調(diào)整過程中的中間值,PixelDifColorRed"'
表示像素G分量色差的最終值;PixelDifColorBlue ' 、 PixelDifColorBlue 〃表示像
素B分量色差調(diào)整過程中的中間值,PixelDifColorBlue"'表示像素B分量色差的最
終值;SoftnessRed表示像素R分量的軟邊值,SoftnessGreen表示像素G分量的軟邊
值,SoftnessBlue表示像素B分量的軟邊值,ToleranceRed表示像素R分量的容忍度,
ToleranceGreen表示像素G分量的容忍度,ToleranceBlue表示B分量的容忍度。 本發(fā)明所述方法,通過在B-G-R色彩空間依次對比兩幅具有相同背景圖像相對應(yīng)
像素的色差,將色差的最大值作為該像素的鍵值,并對該鍵值再進(jìn)行加權(quán)處理的方式,實(shí)現(xiàn)
了將活動物體快速地從背景中提取出來,而且提取的效果較好。此外,該方法比較簡單,非
常容易優(yōu)化。
圖1是具體實(shí)施方式
中基于前景與背景色差確定鍵值的方法流程圖。
具體實(shí)施例方式
下面結(jié)合具體實(shí)施方式
和附圖對本發(fā)明進(jìn)行詳細(xì)描述。 本發(fā)明的核心思想是在B-G-R色彩空間依次對比兩幅具有相同背景圖像相對應(yīng)像素的色差,將色差的最大值作為該像素的鍵值,并將該鍵值作為活動物體與新背景進(jìn)行 合成時的alfha通道,從而實(shí)現(xiàn)活動物體提取的目的。 圖1出示了一種基于前景與背景色差確定鍵值的方法流程,主要包括以下步驟
(1)輸入兩幅圖像,一幅圖像是沒有活動物體的背景圖,一幅圖像是有活動物體的 前景圖,兩幅圖像的背景相同。 (2)依次計算兩幅圖像中相對應(yīng)像素的B-G-R分量的色差,并根據(jù)容忍度和軟邊 對色差進(jìn)行調(diào)整,將調(diào)整后色差的最大值作為該像素的鍵值Key。 像素的B-G-R分量是指紅、綠、藍(lán)三個分量。計算兩幅圖像中相對應(yīng)像素的B-G-R 分量的色差采用如下公式PixelDifColorRed = | (PixelF皿tRed-PixelBackRed) | ; PixelDifColorGreen = |(PixelFrontGreen-PixelBackGreen)| ;PixelDifColorBlue = | (PixelF皿tBlue-PixelBackBlue) | 。其中,PixelDifColorRed表示像素R分量的色差,PixelFrontRed表示前景圖
中像素的R分量值,PixelBackRed表示與前景圖中像素相對應(yīng)的背景圖中像素的R分量
值;PixelDifColorGreen表示像素G分量的色差,PixelFrontGreen表示前景圖中像素
的G分量值,PixelBackGreen表示與前景圖中像素相對應(yīng)的背景圖中像素的G分量值;
PixelDifColorBlue表示像素B分量的色差,PixelFrontBlue表示前景圖中像素的B分量
值,PixelBackGreen表示與前景圖中像素相對應(yīng)的背景圖中像素的B分量值。 計算出兩幅圖像中相對應(yīng)像素的B-G-R分量的色差后,還需要考慮容忍度
(Tolerance)和軟邊(Softness)兩個參數(shù)對色差的影響。所述容忍度是用來調(diào)節(jié)多大差別
范圍內(nèi)可以認(rèn)為色差為零,即完全透明(黑),容忍度越大透明區(qū)域越大。所述軟邊是用來
調(diào)節(jié)透明區(qū)和不透明區(qū)邊界的過渡。 據(jù)容忍度和軟邊對色差進(jìn)行調(diào)整采用如下公式PixelDifColorRed' =max(0, (PixelDifColorRed—ToleranceRed))。
如果SoftnessRed不等于0,貝UPixelDifColorRed" = PixelDifColorRed' /SoftnessRed。 如果PixelDifColorRed"大于等于O,則PixelDifColorRed" ' = min(1,PixelDifColorRed")。 如果PixelDifColorRed"小于O,則PixelDifColorRed" ' =1。 PixelDifColorGreen' =max(0, (PixelDifColorGreen-ToleranceGreen))。 如果SoftnessGreen不等于0,貝U PixelDifColorGreen" = PixelDifColorGreen' /SoftnessGreen。 如果PixelDifColorGreen"大于等于O,則PixelDifColorGreen" ' = min(1,PixelDifColorGreen")。 如果PixelDifColorGreen"小于O,則PixelDifColorGreen" ' =1。PixelDifColorBlue' =max(0, (PixelDifColorBlue-ToleranceBlue))。 如果SoftnessBlue不等于O,則PixelDifColorBlue" = PixelDifColorBlue' /SoftnessBlue。
如果PixelDifColorBlue"大于等于O,則
6
PixelDifColorBlue〃 ' = min(l,PixelDifColorBlue")。 如果PixelDifColorBlue"小于O,則PixelDifColorBlue" ' =1。 上述公式中,PixelDifColorRed ' 、 PixelDifColorRed 〃表示像素R分量
色差調(diào)整過程中的中間值,PixelDifColorRed〃 '表示像素R分量色差的最終值;
PixelDifColorGreen ' 、 PixelDifColorGreen 〃表示像素G分量色差調(diào)整過程中的中
間值,PixelDifColorRed 〃 '表示像素G分量色差的最終值;PixelDifColorBlue '、
PixelDifColorBlue"表示像素B分量色差調(diào)整過程中的中間值,PixelDifColorBlue"'
表示像素B分量色差的最終值;SoftnessRed表示像素R分量的軟邊值,SoftnessGreen表
示像素G分量的軟邊值,SoftnessBlue表示像素B分量的軟邊值,ToleranceRed表示像素
R分量的容忍度,ToleranceGreen表示像素G分量的容忍度,ToleranceBlue表示B分量的
容忍度。 比較調(diào)整后的色差,將色差的最大值作為該像素的鍵值Key,即Key = max (PixelDifColorRed 〃 ' , PixelDifColorGreen〃 ',
PixelDifColorBlue"')。 (3)對鍵值Key進(jìn)行加權(quán)處理,并將處理后的鍵值Key限幅在
區(qū)間之內(nèi),獲 得最終的鍵值Key。 對鍵值Key進(jìn)行加權(quán)處理涉及兩個參數(shù)加法加權(quán)(Lift)、乘法加權(quán)(Gain),這兩 個參數(shù)是用來對鍵值Key進(jìn)行整體提升。 加權(quán)處理采用公式Key = (Key+Lift) XGain。其中,等號右側(cè)的Key表示加權(quán)處
理前的鍵值,等號左側(cè)的Key表示加權(quán)處理后的鍵值,Lift和Gain均為經(jīng)驗(yàn)值。 為了提高本發(fā)明所述方法的實(shí)現(xiàn)效率,優(yōu)選采用intel的SIMD增強(qiáng)指令集SSE2。
由于SSE2可以進(jìn)行整數(shù)或者浮點(diǎn)的矢量計算,所以可以同時計算多個像素的鍵值。另外由
于SSE2指令很容易實(shí)現(xiàn)掩模計算,使得在計算鍵值時沒有任何條件分支語句,從而也提高
了速度。 試驗(yàn)結(jié)果表明在一臺主頻為2. 5GHz的處理器上,計算一幅720x576大小圖像 (BGRA空間)的鍵值只需要5.0ms。如果再利用多核或超線程技術(shù),將計算平均分配到每個 核上面或者硬件線程上,則一個四核的CPU處理上述圖像只需要1. 5ms左右。
本發(fā)明并不限于上述具體實(shí)施方式
,本領(lǐng)域的技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得 出的其他實(shí)施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范圍。
權(quán)利要求
一種基于前景與背景色差確定鍵值的方法,包括以下步驟(1)輸入兩幅圖像,一幅圖像是沒有活動物體的背景圖,一幅圖像是有活動物體的前景圖,兩幅圖像的背景相同;(2)依次計算兩幅圖像中相對應(yīng)像素的B-G-R分量的色差,并根據(jù)容忍度和軟邊對色差進(jìn)行調(diào)整,將調(diào)整后色差的最大值作為該像素的鍵值Key;(3)將鍵值Key限幅在
區(qū)間之內(nèi)。
2. 如權(quán)利要求1所述的一種基于前景與背景色差確定鍵值的方法,其特征在于,步驟 (2)中計算兩幅圖像中相對應(yīng)像素的B-G-R分量的色差采用如下公式PixelDifColorRed = |(PixelFrontRed-PixelBackRed)|, PixelDifColorGreen = | (PixelFrontGreen-PixelBackGreen)|, PixelDifColorBlue = | (PixelFrontBlue-PixelBackBlue) | ;其中,PixelDifColorRed表示像素R分量的色差,PixelFrontRed表示前景圖中 像素的R分量值,PixelBackRed表示與前景圖中像素相對應(yīng)的背景圖中像素的R分量 值;PixelDifColorGreen表示像素G分量的色差,PixelFrontGreen表示前景圖中像素 的G分量值,PixelBackGreen表示與前景圖中像素相對應(yīng)的背景圖中像素的G分量值; PixelDifColorBlue表示像素B分量的色差,PixelFrontBlue表示前景圖中像素的B分量 值,PixelBackGreen表示與前景圖中像素相對應(yīng)的背景圖中像素的B分量值。
3. 如權(quán)利要求2所述的一種基于前景與背景色差確定鍵值的方法,其特征在于,步驟 (2)中根據(jù)容忍度和軟邊對色差進(jìn)行調(diào)整采用如下公式PixelDifColorRed' =max(0, (PixelDifColorRed-ToleranceRed)); 如果SoftnessRed不等于0,則PixelDifColorRed" = PixelDifColorRed' /SoftnessRed ;如果PixelDifColorRed"大于等于O,則PixelDifColorRe d' 〃 = min(1, PixelDifColorRed");如果PixelDifColorRed"小于0,則PixelDifColorRed' 〃 =1;PixelDifColorGreen' =max(0, (PixelDifColorGreen-ToleranceGreen));如果SoftnessGreen不等于0,則PixelDifColorGreen" = PixelDifColorGreen' /SoftnessGreen ;如果PixelDifColorGreen"大于等于O,則PixelDifColorGreen' 〃 = min(1,PixelDifColorGreen");如果PixelDifColorGreen"小于0,則PixelDifColorGreen' 〃 =1;PixelDifColorBlue' =max(0, (PixelDifColorBlue-ToleranceBlue));如果SoftnessBlue不等于0,則PixelDifColorBlue" = PixelDifColorBlue' /SoftnessBlue; 如果PixelDifColorBlue"大于等于O,則 PixelDifColorBlue' 〃= min(l,PixelDifColorBlue"); 如果PixelDifColorBlue"小于0,則PixelDifColorBlue' 〃 =1; 其中,PixelDifColorRed' 、 PixelDifColorRe d〃表示像素R分量色差調(diào)整過程中的 中間值,PixelDifColorRe d' 〃表示像素R分量色差的最終值;PixelDifColorGreen'、PixelDifColorGreen〃表示像素G分量色差調(diào)整過程中的中間值,PixelDifColorRed' 〃 表示像素G分量色差的最終值;PixelDifColorBlue ' 、 PixelDifColorBlue 〃表示像 素B分量色差調(diào)整過程中的中間值,PixelDifColorBlue' 〃表示像素B分量色差的最 終值;SoftnessRed表示像素R分量的軟邊值,SoftnessGreen表示像素G分量的軟邊 值,SoftnessBlue表示像素B分量的軟邊值,ToleranceRed表示像素R分量的容忍度, ToleranceGreen表示像素G分量的容忍度,ToleranceBlue表示B分量的容忍度。
全文摘要
本發(fā)明公開了一種基于前景與背景色差確定鍵值的方法,屬于視頻及圖像的特效處理及合成技術(shù)領(lǐng)域。現(xiàn)有方法存在處理速度較慢、摳像效果差等缺陷。本發(fā)明所述方法首先輸入兩幅圖像,一幅圖像是沒有活動物體的背景圖,一幅圖像是有活動物體的前景圖,兩幅圖像的背景相同;然后依次計算兩幅圖像中相對應(yīng)像素的B-G-R分量的色差,并根據(jù)容忍度和軟邊對色差進(jìn)行調(diào)整,將調(diào)整后色差的最大值作為該像素的鍵值Key;最后將鍵值Key限幅在
區(qū)間之內(nèi)。本發(fā)明所述方法實(shí)現(xiàn)了將活動物體快速地從背景中提取出來,而且提取的效果較好。
文檔編號H04N1/62GK101764912SQ200810239418
公開日2010年6月30日 申請日期2008年12月9日 優(yōu)先權(quán)日2008年12月9日
發(fā)明者劉鐵華, 孫季川, 見良, 鄭鵬程 申請人:新奧特(北京)視頻技術(shù)有限公司