專利名稱:一種對視頻添加云特效的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理,尤其涉及一種對視頻添加云特效的方法和系統(tǒng)。
技術(shù)背景
當(dāng)前,根據(jù)用戶需求,希望實現(xiàn)對視頻進行云特效添加,使視頻看起來更生動。然而,如何更好地實現(xiàn)對視頻的添加云特效,提高運算效率,提升特效效果,是人們一直研究的問題。發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述在對視頻添加云特效時,運算效率不高、特效效果不好的缺陷,提供一種運算效率高、特效效果好的對視頻添加云特效的方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是構(gòu)造一種對視頻添加云特效的方法,包括510.隨機生成至少兩份與視頻幀相同分辨率的指定屬性的云效果圖像,所述屬性包括云密度、飄動方向、飄動速度;S20.根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,將至少兩份云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像,再將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
在本發(fā)明所述的對視頻添加云特效的方法中,在所述步驟SlO中,隨機生成與視頻幀相同分辨率的云效果圖像的步驟包括511.初始化至少兩份與視頻幀相同分辨率的云效果圖像,將ζ初始化為云效果圖像的寬度W和圖像高度H中較大值,其中,初始化的至少兩份云效果圖像的每個像素點的像素值為零;512.從左至右逐行掃描每個云效果圖像的像素點,并分別對每個像素點執(zhí)行下面步驟;513.當(dāng)前像素點的坐標(biāo)為(x,y),查找以下四個像素點pixell(x,y),pixel2 (xl,y)、 pixel3 (x,yl)、pixe14 (xl,yl),并依次獲取所述四個像素點的像素值vail、val2、val3、 val4,及獲取圖像的寬W,圖像的高H,且xl = (ζ + χ) %ff,yl = (ζ + y) %H,x2 =int ( x/2 + χ )%ff,y2 = int ( y/2 + y )%H,其中,%表示求余,int ()表示取整;514.根據(jù)所獲取的所述四個像素點的像素值vall、va12、va13、va14,計算以下五個像素點 pixel5 (x2,y2)、pixel6 (x2,y)、pixel7 (x,y2)、pixel8 (x2,yl)、pixel9 (xl,y2)的像素值 val5、val6、val7、val8、val9,其中,val5= (vall+val2+val3+val4) /4 + nDesity * (rand()%201-100), val6=(vall+val2)/2 + nDesity * (rand ()%201-100), val7=(vall+val3)/2 + nDesity * (rand()%201-100), val8=(val3+val4)/2 + nDesity * (rand()%201-100), val9=(val2+val4)/2 + nDesity * (rand()%201-100), nDesity = ζ * M其中,rand()%201表示0 200的隨機數(shù),nDesity表示云密度,0 < M < 10;515.在所有的像素點掃描完成后,保存并更新當(dāng)前云效果圖像;516.將ζ值除以2,并判斷更改后的ζ值是否小于2,若否,則重新執(zhí)行步驟S12;若是, 則結(jié)束。
在本發(fā)明所述的對視頻添加云特效的方法中,所述步驟S20包括521.根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,分別將至少兩份云效果圖像按各自的飄動方向相對于當(dāng)前幀移動至相應(yīng)位置;522.將至少兩份移動后的云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像;523.將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
在本發(fā)明所述的對視頻添加云特效的方法中,在所述步驟S20中,所述數(shù)據(jù)疊加為求均值。
在本發(fā)明所述的對視頻添加云特效的方法中,在所述步驟SlO中,隨機生成的云效果圖像為三份。
本發(fā)明還構(gòu)造一種對視頻添加云特效的系統(tǒng),包括生成模塊,用于隨機生成至少兩份與視頻幀相同分辨率的指定屬性的云效果圖像,所述屬性包括云密度、飄動方向、飄動速度;添加模塊,用于根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,將至少兩份云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像,再將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
在本發(fā)明所述的對視頻添加云特效的系統(tǒng)中,所述生成模塊包括初始化單元,用于初始化至少兩份與視頻幀相同分辨率的云效果圖像,將ζ初始化為云效果圖像的寬度W和圖像高度H中較大值,其中,初始化的至少兩份云效果圖像的每個像素點的像素值為零;掃描單元,用于從左至右逐行掃描每個云效果圖像的像素點; 像素值獲取單元,用于當(dāng)前像素點的坐標(biāo)為(X,y),查找以下四個像素點Pixell (X, y)>pixel2 (xl, y),pixel3 (x,yl)、pixel4 (xl,yl)并依次獲取所述四個像素點的像素值valUval2, val3、val4,及獲取圖像的寬W,圖像的高H,且 xl = (ζ + χ) %ff, yl = (ζ + y) %H, x2 =int ( x/2 + χ )%ff, y2 = int ( y/2 + y )%H, 其中,%表示求余,int ()表示取整;像素值計算單元,用于根據(jù)所獲取的所述四個像素點的像素值vall、va12、va13、va14, 計算以下五個像素點 pixel5 (x2,y2)、pixel6 (x2,y)、pixel7 (x,y2)、pixel8 (x2,yl)、 pixel9 (xl, y2)的像素值 val5、val6、val7、val8、val9,其中,val5= (vall+val2+val3+val4) /4 + nDesity * (rand()%201-100), val6=(vall+val2)/2 + nDesity * (rand ()%201-100), val7=(vall+val3)/2 + nDesity * (rand()%201-100), val8=(val3+val4)/2 + nDesity * (rand()%201-100), val9=(val2+val4)/2 + nDesity * (rand()%201-100), nDesity = ζ * M其中,rand()%201表示0 200的隨機數(shù),nDesity表示云密度,0 < M < 10; 更新單元,用于在所有的像素點掃描完成后,保存并更新當(dāng)前云效果圖像; 判斷單元,用于將ζ值除以2,并判斷更改后的ζ值是否小于2,若否,則轉(zhuǎn)向所述掃描單元重新執(zhí)行;若是,則結(jié)束。
在本發(fā)明所述的對視頻添加云特效的系統(tǒng)中,所述添加模塊包括移動單元,用于根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,分別將至少兩份云效果圖像按各自的飄動方向相對于當(dāng)前幀移動至相應(yīng)位置;數(shù)據(jù)疊加單元,用于將至少兩份移動后的云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像;圖像疊加單元,用于將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
在本發(fā)明所述的對視頻添加云特效的系統(tǒng)中,所述數(shù)據(jù)疊加為求均值。
在本發(fā)明所述的對視頻添加云特效的系統(tǒng)中,隨機生成的云效果圖像為三份。
實施本發(fā)明的技術(shù)方案,在對視頻添加云特效時,運算效率高,且特效效果好。
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中 圖1是本發(fā)明對視頻添加云特效的方法實施例一的流程圖;圖2是圖1的步驟SlO中隨機生成云效果圖像優(yōu)選實施例的流程圖; 圖3是與當(dāng)前像素點有關(guān)的九個像素點的位置關(guān)系圖; 圖4是圖1的步驟S20優(yōu)選實施例的流程圖; 圖5是本發(fā)明對視頻添加云特效的系統(tǒng)實施例一的邏輯圖; 圖6是本發(fā)明對視頻添加云特效的系統(tǒng)實施例二的邏輯圖。
具體實施方式
如圖1所示,在本發(fā)明對視頻添加云特效的方法實施例一的流程圖中,該方法包括S10.隨機生成至少兩份與視頻幀相同分辨率的指定屬性的云效果圖像,所述屬性包括云密度、飄動方向、飄動速度,在該步驟中,隨機生成的云效果圖像的份數(shù)為三份,這樣更逼真,更有動感;S20.根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,將至少兩份云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像,再將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上,在該步驟中,數(shù)據(jù)疊加可以是求均值,也可以是分別乘以疊加系數(shù)后再相加。
圖2是圖1的步驟SlO中隨機生成云效果圖像優(yōu)選實施例的流程圖,該隨機生成云效果圖像的步驟包括511.初始化至少兩份與視頻幀相同分辨率的云效果圖像,將ζ初始化為云效果圖像的寬度W和圖像高度H中較大值,其中,初始化的至少兩份云效果圖像的每個像素點的像素值為零;512.從左至右逐行掃描每個云效果圖像的像素點,并分別對每個像素點執(zhí)行下面步驟;513.當(dāng)前像素點的坐標(biāo)為(x,y),查找以下四個像素點pixell(x,y),pixel2 (xl,y)、 pixel3 (x,yl)、pixe14 (xl,yl),并依次獲取所述四個像素點的像素值vail、val2、val3、 val4,及獲取圖像的寬W,圖像的高H,且xl = (ζ + χ) %ff,yl = (ζ + y) %H,x2 =int ( x/2 + χ )%ff,y2 = int ( y/2 + y )%H,其中,%表示求余,int ()表示取整;514.根據(jù)所獲取的所述四個像素點的像素值vall、va12、va13、va14,計算以下五個像素點 pixel5 (x2,y2)、pixel6 (x2,y)、pixel7 (x,y2)、pixel8 (x2,yl)、pixel9 (xl, y2) 的像素值 val5、val6、val7、val8、val9,其中,val5= (vall+val2+val3+val4) /4 + nDesity * (rand()%201-100), val6=(vall+val2)/2 + nDesity * (rand ()%201-100), val7=(vall+val3)/2 + nDesity * (rand()%201-100), val8=(val3+val4)/2 + nDesity * (rand()%201-100), val9=(val2+val4)/2 + nDesity * (rand()%201-100), nDesity = ζ * M其中,rand()%201表示0 200的隨機數(shù),nDesity表示云密度,0 < M < 10;515.在所有的像素點掃描完成后,保存并更新當(dāng)前云效果圖像;516.將ζ值除以2,并判斷更改后的ζ值是否小于2,若否,則重新執(zhí)行步驟S12;若是, 則結(jié)束。
圖4是圖1的步驟S20優(yōu)選實施例的流程圖,該步驟包括521.根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,分別將至少兩份云效果圖像按各自的飄動方向相對于當(dāng)前幀移動至相應(yīng)位置;522.將至少兩份移動后的云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像;523.將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
圖5是本發(fā)明對視頻添加云特效的系統(tǒng)實施例一的邏輯圖,該系統(tǒng)包括相連的生成模塊10和添加模塊20。其中,生成模塊10用于隨機生成至少兩份與視頻幀相同分辨率的指定屬性的云效果圖像,所述屬性包括云密度、飄動方向、飄動速度。添加模塊20用于根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,將至少兩份云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像,再將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
圖6是本發(fā)明對視頻添加云特效的系統(tǒng)實施例二的邏輯圖,該系統(tǒng)包括相連的生成模塊10和添加模塊20。其中,生成模塊10包括相連的初始化單元11、掃描單元12、像素值獲取單元13、像素值計算單元14、更新單元15和判斷單元16。添加模塊20包括相連的移動單元21、數(shù)據(jù)疊加單元22和圖像疊加單元23。在該系統(tǒng)中,初始化單元11用于初始化至少兩份與視頻幀相同分辨率的云效果圖像,將ζ初始化為云效果圖像的寬度W和圖像高度H中較大值,其中,初始化的至少兩份云效果圖像的每個像素點的像素值為零。優(yōu)選地,云效果圖像數(shù)據(jù)隨機生成三份,這樣更逼真,更有動感;掃描單元12用于從左至右逐行掃描每個云效果圖像的像素點;像素值獲取單元13用于當(dāng)前像素點的坐標(biāo)為(X,y),查找以下四個像素點 pixell (x,y)、pixel2 (xl,y)、pixel3 (x,yl)、pixel4 (xl,yl)并依次獲取所述四個像素點的像素值vail、val2、val3、val4,圖像的寬為W,圖像的高為H,且xl = (ζ + χ) %ff, yl = (ζ + y) %H, x2 =int ( x/2 + χ )%ff, y2 = int ( y/2 + y )%H,其中,%表示求余,int ()表示取整;像素值計算單元14用于根據(jù)所獲取的所述四個像素點的像素值vail、val2、val3、val4,計算以下五個像素點pixel5 (x2,y2)、pixel6 (x2, y)、pixel7 (x,y2)、pixel8 (x2,yl)、pixel9 (xl,y2)的像素值 val5、val6、val7、val8、 val9,其中,val5= (vall+val2+val3+val4) /4 + nDesity * (rand()%201-100), val6=(vall+val2)/2 + nDesity * (rand ()%201-100), val7=(vall+val3)/2 + nDesity * (rand()%201-100), val8=(val3+val4)/2 + nDesity * (rand()%201-100), val9=(val2+val4)/2 + nDesity * (rand()%201-100), nDesity = ζ * M其中,rand()%201表示0 200的隨機數(shù),nDesity表示云密度,0 < M < 10 ;更新單元15用于在所有的像素點掃描完成后,保存并更新當(dāng)前云效果圖像;判斷單元16用于將ζ 值除以2,并判斷更改后的ζ值是否小于2,若否,則轉(zhuǎn)向所述掃描單元重新執(zhí)行;若是,則結(jié)束。移動單元21用于根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,分別將至少兩份云效果圖像按各自的飄動方向相對于當(dāng)前幀移動至相應(yīng)位置;數(shù)據(jù)疊加單元 22用于將至少兩份移動后的云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像,該數(shù)據(jù)疊加優(yōu)選求均值,當(dāng)然在另一個實施例中,也可分別乘以疊加系數(shù)后再相加;圖像疊加單元23 用于將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種對視頻添加云特效的方法,其特征在于,包括510.隨機生成至少兩份與視頻幀相同分辨率的指定屬性的云效果圖像,所述屬性包括云密度、飄動方向、飄動速度;520.根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,將至少兩份云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像,再將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
2.根據(jù)權(quán)利要求1所述的對視頻添加云特效的方法,其特征在于,在所述步驟SlO中, 隨機生成與視頻幀相同分辨率的云效果圖像的步驟包括511.初始化至少兩份與視頻幀相同分辨率的云效果圖像,將ζ初始化為云效果圖像的寬度W和圖像的高度H中較大值,其中,初始化的至少兩份云效果圖像的每個像素點的像素值為零;512.從左至右逐行掃描每個云效果圖像的像素點,并分別對每個像素點執(zhí)行下面步驟;513.當(dāng)前像素點的坐標(biāo)為(x,y),查找以下四個像素點pixell(x,y),pixel2 (xl,y)、 pixel3 (x,yl)、pixe14 (xl,yl),并依次獲取所述四個像素點的像素值vail、val2、val3、 val4,及獲取圖像的寬W、圖像的高H,且xl = (ζ+ χ) %ff,yl = (ζ+ y) %H,x2 =int ( x/2 + χ )%ff,y2 = int ( y/2 + y )%H,其中,%表示求余,int ()表示取整;514.根據(jù)所獲取的所述四個像素點的像素值vall、va12、va13、va14,計算以下五個像素點 pixel5 (x2,y2)、pixel6 (x2,y)、pixel7 (x,y2)、pixel8 (x2,yl)、pixel9 (xl, y2) 的像素值 val5、val6、val7、val8、val9,其中,val5= (vall+val2+val3+val4) /4 + nDesity * (rand()%201-100), val6=(vall+val2)/2 + nDesity * (rand ()%201-100), val7=(vall+val3)/2 + nDesity * (rand()%201-100), val8=(val3+val4)/2 + nDesity * (rand()%201-100), val9=(val2+val4)/2 + nDesity * (rand()%201-100), nDesity = ζ * M其中,rand()%201表示0 200的隨機數(shù),nDesity表示云密度,0 < M < 10;515.在所有的像素點掃描完成后,保存并更新當(dāng)前云效果圖像;516.將ζ值除以2,并判斷更改后的ζ值是否小于2,若否,則重新執(zhí)行步驟S12;若是, 則結(jié)束。
3.根據(jù)權(quán)利要求1所述的對視頻添加云特效的方法,其特征在于,所述步驟S20包括.521.根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,分別將至少兩份云效果圖像按各自的飄動方向相對于當(dāng)前幀移動至相應(yīng)位置;.522.將至少兩份移動后的云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像;.523.將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
4.根據(jù)權(quán)利要求1所述的對視頻添加云特效的方法,其特征在于,在所述步驟S20中, 所述數(shù)據(jù)疊加為求均值。
5.根據(jù)權(quán)利要求1所述的對視頻添加云特效的方法,其特征在于,在所述步驟SlO中, 隨機生成的云效果圖像為三份。
6.一種對視頻添加云特效的系統(tǒng),其特征在于,包括生成模塊,用于隨機生成至少兩份與視頻幀相同分辨率的指定屬性的云效果圖像,所述屬性包括云密度、飄動方向、飄動速度;添加模塊,用于根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,將至少兩份云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像,再將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
7.根據(jù)權(quán)利要求6所述的對視頻添加云特效的系統(tǒng),其特征在于,所述生成模塊包括 初始化單元,用于初始化至少兩份與視頻幀相同分辨率的云效果圖像,將ζ初始化為云效果圖像的寬度W和云效果圖像高度H中較大值,其中,初始化的至少兩份云效果圖像的每個像素點的像素值為零;掃描單元,用于從左至右逐行掃描每個云效果圖像的像素點; 像素值獲取單元,用于當(dāng)前像素點的坐標(biāo)為(X,y),查找以下四個像素點Pixell (X, y)>pixel2 (xl, y),pixel3 (x,yl)、pixel4 (xl,yl)并依次獲取所述四個像素點的像素值valUval2, val3、val4,及獲取圖像的寬W,圖像的高H,且 xl = (ζ + χ) %ff, yl = (ζ + y) %H, x2 =int ( x/2 + χ )%ff, y2 = int ( y/2 + y )%H, 其中,%表示求余,int ()表示取整;像素值計算單元,用于根據(jù)所獲取的所述四個像素點的像素值vall、va12、va13、va14, 計算以下五個像素點 pixel5 (x2,y2)、pixel6 (x2,y)、pixel7 (x,y2)、pixel8 (x2,yl)、 pixel9 (xl, y2)的像素值 val5、val6、val7、val8、val9,其中,val5= (vall+val2+val3+val4) /4 + nDesity * (rand()%201-100), val6=(vall+val2)/2 + nDesity * (rand ()%201-100), val7=(vall+val3)/2 + nDesity * (rand()%201-100), val8=(val3+val4)/2 + nDesity * (rand()%201-100), val9=(val2+val4)/2 + nDesity * (rand()%201-100), nDesity = ζ * M其中,rand()%201表示0 200的隨機數(shù),nDesity表示云密度,0 < M < 10; 更新單元,用于在所有的像素點掃描完成后,保存并更新當(dāng)前云效果圖像; 判斷單元,用于將ζ值除以2,并判斷更改后的ζ值是否小于2,若否,則轉(zhuǎn)向所述掃描單元重新執(zhí)行;若是,則結(jié)束。
8.根據(jù)權(quán)利要求6所述的對視頻添加云特效的系統(tǒng),其特征在于,所述添加模塊包括移動單元,用于根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,分別將至少兩份云效果圖像按各自的飄動方向相對于當(dāng)前幀移動至相應(yīng)位置;數(shù)據(jù)疊加單元,用于將至少兩份移動后的云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像;圖像疊加單元,用于將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。
9.根據(jù)權(quán)利要求6所述的對視頻添加云特效的系統(tǒng),其特征在于,所述數(shù)據(jù)疊加為求均值。
10.根據(jù)權(quán)利要求6所述的對視頻添加云特效的系統(tǒng),其特征在于,隨機生成的云效果圖像為三份。
全文摘要
本發(fā)明公開了一種對視頻添加云特效的方法和系統(tǒng),該方法包括S10.隨機生成至少兩份與視頻幀相同分辨率的指定屬性的云效果圖像,所述屬性包括云密度、飄動方向、飄動速度;S20.根據(jù)當(dāng)前幀在整個視頻時長的時間系數(shù)、所述飄動方向、飄動速度,將至少兩份云效果圖像進行數(shù)據(jù)疊加以得到合成云效果圖像,再將合成云效果圖像以圖像疊加的方式加到當(dāng)前視頻幀上。實施本發(fā)明的技術(shù)方案,在對視頻添加云特效時,運算效率高,且特效效果好。
文檔編號H04N5/262GK102523388SQ20111043571
公開日2012年6月27日 申請日期2011年12月22日 優(yōu)先權(quán)日2011年12月22日
發(fā)明者王小艷 申請人:深圳市萬興軟件有限公司