CN110298783A - 一种抠像方法及系统 - Google Patents

一种抠像方法及系统 Download PDF

Info

Publication number
CN110298783A
CN110298783A CN201910484456.2A CN201910484456A CN110298783A CN 110298783 A CN110298783 A CN 110298783A CN 201910484456 A CN201910484456 A CN 201910484456A CN 110298783 A CN110298783 A CN 110298783A
Authority
CN
China
Prior art keywords
image
data
frame data
channel
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910484456.2A
Other languages
English (en)
Other versions
CN110298783B (zh
Inventor
夏海波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Changli Technology Co ltd
Original Assignee
Beijing Changli Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Changli Technology Co Ltd filed Critical Beijing Changli Technology Co Ltd
Priority to CN201910484456.2A priority Critical patent/CN110298783B/zh
Publication of CN110298783A publication Critical patent/CN110298783A/zh
Application granted granted Critical
Publication of CN110298783B publication Critical patent/CN110298783B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种抠像方法及系统,其中,抠像方法,包括以下步骤:获取原始影像数据以及对应所述原始影像数据的影像帧数据;根据预设视频算法对所述影像帧数据进行计算,得到影像背景帧数据;根据所述影像背景帧数据对所述影像帧数据进行筛选,得到影像前景帧数据;对所述影像前景帧数据进行预处理,得到中间影像帧数据;根据所述中间影像帧数据与预设影像数据进行融合,得到最终影像数据;在本发明的技术方案中,其能够解决现有的视频抠像处理方法以及处理装置中抠像处理的准确度较差或抠像处理的效率较低的技术问题。

Description

一种抠像方法及系统
技术领域
本发明涉及图像处理技术领域,尤其涉及一种抠像方法和一种抠像 系统。
背景技术
蓝绿屏幕技术是提取通道最主要的手段。它是在拍摄人物或其他前 景内容,然后利用色度的区别,把单色背景去掉。所以蓝绿屏幕技术有 个学名叫色度键(ChromaKeying)。数字合成软件允许用户指定一个颜 色范围,颜色在这个范围之内的像素被当作背景,相应的Alpha通道值设 为0;在这个范围之外的像素作为前景,相应的Alpha通道值设为1.所以首 要的原则就是前景物体上不能包含所选用的背景颜色。通常这种半透明 部分出现在前景物体的边缘。适当的半透明部分对于合成的质量非常重 要,因为非此即彼的过渡显得很生硬,而且在活动的画面上很容易发生 边缘冷却等糟糕的后果。
从原理上讲,只要背景所用的颜色在前景画面中不存在,用任何颜 色做背景都可以,但实际上,最常用的是蓝背景和绿背景两种。原因在 于,人身体的自然颜色中不包含这两种色彩,用它们做背景不会和人物 混在一起;同时这两种颜色是RGB系统中的原色,也比较方便处理。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提供一种抠像方法,其能够解决现有 的视频抠像处理方法以及处理装置中抠像处理的准确度较差或抠像处理 的效率较低的技术问题。
本发明的另一个目的在于提供一种抠像系统,其能够保证终端进行 视频抠像处理的准确度,简化了终端进行视频抠像处理的流程,且提高 了终端进行视频抠像处理的效率。
为实现上述目的,本发明第一方面的技术方案提供了一种抠像方法, 包括以下步骤:获取原始影像数据以及对应原始影像数据的影像帧数据; 根据预设视频算法对影像帧数据进行计算,得到影像背景帧数据;根据 影像背景帧数据对影像帧数据进行筛选,得到影像前景帧数据;对影响 前景帧数据进行预处理,得到中间影像帧数据;根据中间影像帧数据与 预设影像数据进行融合,得到最终影像数据;其中,预设视频算法为R,G,B∈(0,255),D小于0 时为影像背景帧数据。
在上述技术方案中,优选地,影像背景帧数据为纯色背景帧数据。
在上述任一技术方案中,优选地,纯色背景帧数据为蓝色背景或绿 色背景。
在上述任一技术方案中,优选地,预处理包括:对影像前景数据进 行拆分通道处理,得到通道分数据;根据通道分数进行阿尔法通道计算, 得到通道阿尔法数据;根据通道阿尔发数据进行RGB通道计算,得到中 间影像帧数据;其中,中间影像帧数据分别为R通道图、G通道图和B通 道图。
在上述任一技术方案中,优选地,根据中间影像帧数据与预设影像 数据进行融合的表达式为:在初步数学计算中,颜色取值为:
R,G,B∈[0,255],A∈[0,1];
所以对于初步颜色混合公式:
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
标准的颜色混合算法如下:
R=1A(α1R1+(1-α1)α2R2)R=A1(α1R1+(1-α1)α2R2);
G=1A(α1G1+(1-α1)α2G2)G=A1(α1G1+(1-α1)α2G2);
B=1A(α1B1+(1-α1)α2B2);
B=A1(α1B1+(1-α1)α2B2);
但是在计算机图像中,透明度alpha通常也是A∈[0,255];
A∈[0,255];
所以,根据变化得到的公式是:
float a1=A1/256.0;float a2=A2/256.0;float a=1-(1-a1)*(1- a2);R=(a1*R1+(1-a1)*a2*R2)/a;G=(a1*G1+(1-a1)*a2*G2)/a;B =(a1*B1+(1-a1)*a2*B2)/a;A=a*256;
简化后:
float a1=A1;float a2=A2-(a1*A2)/256;float a=a1+a2;R= (a1*R1+a2*R2)/a;G=(a1*G1+a2*G2)/a;B=(a1*B1+a2*B2)/a;A=a。
本发明第二方面的技术方案提供了一种抠像系统,包括:获取模块, 被设置为用于获取原始影像数据以及对应原始影像数据的影像帧数据; 背景计算模块,被设置为用于根据预设视频算法对影像帧数据进行计算, 得到影像背景帧数据;筛选模块,被设置为用于根据影像背景帧数据对 影像帧数据进行筛选,得到影像前景帧数据;中间影像数据计算模块, 被设置为用于对影响前景帧数据进行预处理,得到中间影像帧数据;融 合模块,被设置为用于根据中间影像帧数据与预设影像数据进行融合, 得到最终影像数据;其中,预设视频算法为 R,G,B∈(0,255),D小于0 时为影像背景帧数据。
在上述技术方案中,优选地,影像背景帧数据为纯色背景帧数据。
在上述任一技术方案中,优选地,纯色背景帧数据为蓝色背景或绿 色背景。
在上述任一技术方案中,优选地,中间影像数据计算模块包括:拆 分单元,被设置为用于对影像前景数据进行拆分通道处理,得到通道分 数据;阿尔法通道计算,被设置为用于根据通道分数进行阿尔法通道计 算,得到通道阿尔法数据;RGB通道计算,被设置为用于根据通道阿尔 发数据进行RGB通道计算,得到中间影像帧数据;其中,中间影像帧数 据分别为R通道图、G通道图和B通道图。
在上述任一技术方案中,优选地,融合模块的表达式为:
在初步数学计算中,颜色取值为:
R,G,B∈[0,255],A∈[0,1];
所以对于初步颜色混合公式:
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
标准的颜色混合算法如下:
R=1A(α1R1+(1-α1)α2R2)R=A1(α1R1+(1-α1)α2R2);
G=1A(α1G1+(1-α1)α2G2)G=A1(α1G1+(1-α1)α2G2);
B=1A(α1B1+(1-α1)α2B2);
B=A1(α1B1+(1-α1)α2B2);
但是在计算机图像中,透明度alpha通常也是A∈[0,255];
A∈[0,255];
所以,根据变化得到的公式是:
float a1=A1/256.0;float a2=A2/256.0;float a=1-(1-a1)*(1- a2);R=(a1*R1+(1-a1)*a2*R2)/a;G=(a1*G1+(1-a1)*a2*G2)/a;B =(a1*B1+(1-a1)*a2*B2)/a;A=a*256;
简化后:
float a1=A1;float a2=A2-(a1*A2)/256;float a=a1+a2;R= (a1*R1+a2*R2)/a;G=(a1*G1+a2*G2)/a;B=(a1*B1+a2*B2)/a;A=a。
本发明提供的抠像方法及抠像系统,其能够解决现有的视频抠像处 理方法以及处理装置中抠像处理的准确度较差或抠像处理的效率较低的 技术问题;并能够保证终端进行视频抠像处理的准确度,简化了终端进 行视频抠像处理的流程,且提高了终端进行视频抠像处理的效率。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的 描述中将变得明显和容易理解,其中:
图1示出了本发明实施例所涉及的抠图方法的流程框图;
图2示出了本发明实施例所涉及的步骤S400的流程框图;
图3示出了本发明实施例所涉及的抠图系统的结构框图;
图4示出了本发明实施例所涉及的中间影像数据计算模块的结构框 图;。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合 附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是, 在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是, 本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发 明的保护范围并不限于下面公开的具体实施例的限制。
下面参照图1至图4描述根据本发明一些实施例的抠像方法及系统。
具体而言,该抠像方法的步骤包括但不限于以下技术方案:
实施例1(如图1所示)
按照本发明一个实施例的抠像方法,包括以下步骤:
S100,获取原始影像数据以及对应原始影像数据的影像帧数据;
S200,根据预设视频算法对影像帧数据进行计算,得到影像背景帧 数据;
S300,根据影像背景帧数据对影像帧数据进行筛选,得到影像前景 帧数据;
S400,对影响前景帧数据进行预处理,得到中间影像帧数据;
S500,根据中间影像帧数据与预设影像数据进行融合,得到最终影 像数据;
其中,影像背景帧数据为纯色背景帧数据,且为蓝色背景帧数据; 预设视频算法为R,G,B∈(0, 255),D小于0时为影像背景帧数据。
具体地,预处理包括:
S402,对影像前景数据进行拆分通道处理,得到通道分数据;
S404,根据通道分数进行阿尔法通道计算,得到通道阿尔法数据;
S406,根据通道阿尔发数据进行RGB通道计算,得到中间影像帧数 据;
其中,中间影像帧数据分别为R通道图、G通道图和B通道图。
在该实施例中,对影像前景帧数据进行预处理是通过将影像前景帧 数据通过网络等方式上传到后台的处理软件完成预处理的,下面通过例 举出该处理软件的源代码对影像前景帧数据的处理过程进行说明:
//拆分通道
UMat[]image1Channels=image1.Split();
UMat[]image2Channels=image2.Split();
//用于存放各通道计算结果
UMat[]outputChannels=new UMat[]
{
new UMat(size,DepthType.Cv16U,1),
new UMat(size,DepthType.Cv16U,1),
new UMat(size,DepthType.Cv16U,1),
new UMat(size,DepthType.Cv16U,1),
};
//用于暂存中间结果数据
UMat tmp=new UMat(size,DepthType.Cv16U,1);
//255灰度值填充的灰度图
UMat white=new UMat(size,DepthType.Cv16U,1);
white.SetTo(new MCvScalar(255));
//Alpha通道计算
CvInvoke.Multiply(image1Channels[3],image2Channels[3],tmp);// tmp=A1*A2
CvInvoke.Divide(tmp,white,tmp);//tmp=tmp/255
CvInvoke.Subtract(image2Channels[3],tmp,image2Channels[3]);//A2 =A2-tmp
CvInvoke.Add(image1Channels[3],image2Channels[3], outputChannels[3]);//A=A1+A2
//B G R通道计算
for(int i=0;i<3;i++)
{
CvInvoke.Multiply(image1Channels[i],image1Channels[3], image1Channels[i]);//C1=C1*A1
CvInvoke.Multiply(image2Channels[i],image2Channels[3], image2Channels[i]);//C2=C2*A2
CvInvoke.Add(image1Channels[i],image2Channels[i], outputChannels[i]);//C=C1+C2
CvInvoke.Divide(outputChannels[i],outputChannels[3], outputChannels[i]);//C=C/A
}
//通道合并输出
using(UMat output=new UMat(size,DepthType.Cv16U,4))
{
CvInvoke.Merge(new VectorOfUMat(outputChannels),output);
//释放资源
tmp.Dispose();
white.Dispose();
back.Dispose();
font.Dispose();
image1.Dispose();
image2.Dispose();
for(int i=0;i<4;i++)
{
image1Channels[i].Dispose();
image2Channels[i].Dispose();
outputChannels[i].Dispose();
}
return output.ToImage<Bgra,byte>().ToBitmap();
}
}
///<summary>
///按从下到上的顺序合并输入图像
///</summary>
///<param name="z2aImages">从下到上顺序的图像,第一张图在最 下面,最后一张图在最上面</param>
///<returns></returns>
public Bitmap ImageOverlapping2(params Bitmap[]z2aImages)
{
if(z2aImages.Length==0)
throw new ArgumentException();
if(z2aImages.Length==1)
return z2aImages[0];
for(int i=0;i<z2aImages.Length-1;i++)
{
z2aImages[i+1]=ImageOverlapping2(z2aImages[i],z2aImages[i+1]);
}
return z2aImages[z2aImages.Length-1];
进一步地,根据中间影像帧数据与预设影像数据进行融合的表达式 为:
在初步数学计算中,颜色取值为:
R,G,B∈[0,255],A∈[0,1];
所以对于初步颜色混合公式:
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
标准的颜色混合算法如下:
R=1A(α1R1+(1-α1)α2R2)R=A1(α1R1+(1-α1)α2R2);
G=1A(α1G1+(1-α1)α2G2)G=A1(α1G1+(1-α1)α2G2);
B=1A(α1B1+(1-α1)α2B2);
B=A1(α1B1+(1-α1)α2B2);
但是在计算机图像中,透明度alpha通常也是A∈[0,255];
A∈[0,255];
所以,根据变化得到的公式是:
float a1=A1/256.0;float a2=A2/256.0;float a=1-(1-a1)*(1- a2);R=(a1*R1+(1-a1)*a2*R2)/a;G=(a1*G1+(1-a1)*a2*G2)/a;B =(a1*B1+(1-a1)*a2*B2)/a;A=a*256;
简化后:
float a1=A1;float a2=A2-(a1*A2)/256;float a=a1+a2;R= (a1*R1+a2*R2)/a;G=(a1*G1+a2*G2)/a;B=(a1*B1+a2*B2)/a;A=a。
在该实施例中,根据中间影像帧数据与预设影像数据进行融合是通 过将中间影像帧数据通过网络等方式上传到后台处理软件、并与预存在 处理软件内的预设影像数据完成融合的,下面通过具体例举出该处理软 件的源代码对融合过程进行说明:
public Bitmap ImageOverlapping2(Bitmap background,Bitmap fontground)
{
if(background.Size!=fontground.Size)
throw new ArgumentException("background size!=fontground size");
//因为中间计算涉及uint8数据的相乘与相加,
//因此统一使用uint16格式存放加载
Image<Bgra,ushort>back=new Image<Bgra,ushort>(background);
Image<Bgra,ushort>font=new Image<Bgra,ushort>(fontground);
Size size=background.Size;
UMat image1=back.ToUMat();//背景;
UMat image2=font.ToUMat();//前景。
实施例2(如图1和图2所示)
按照本发明另一个实施例的抠像方法,包括以下步骤:
S100,获取原始影像数据以及对应原始影像数据的影像帧数据;
S200,根据预设视频算法对影像帧数据进行计算,得到影像背景帧 数据;
S300,根据影像背景帧数据对影像帧数据进行筛选,得到影像前景 帧数据;
S400,根据预设处理算法对影响前景帧数据进行计算,得到中间影 像帧数据;
S500,根据中间影像帧数据与预设影像数据进行融合,得到最终影 像数据;
其中,影像背景帧数据为纯色背景帧数据,且为绿色背景帧数据; 预设视频算法为R,G,B∈(0, 255),D小于0时为影像背景帧数据。
具体地,预处理包括:
S402,对影像前景数据进行拆分通道处理,得到通道分数据;
S404,根据通道分数进行阿尔法通道计算,得到通道阿尔法数据;
S406,根据通道阿尔发数据进行RGB通道计算,得到中间影像帧数 据;
其中,中间影像帧数据分别为R通道图、G通道图和B通道图。
进一步地,根据中间影像帧数据与预设影像数据进行融合的表达式 为:
在初步数学计算中,颜色取值为:
R,G,B∈[0,255],A∈[0,1];
所以对于初步颜色混合公式:
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
标准的颜色混合算法如下:
R=1A(α1R1+(1-α1)α2R2)R=A1(α1R1+(1-α1)α2R2);
G=1A(α1G1+(1-α1)α2G2)G=A1(α1G1+(1-α1)α2G2);
B=1A(α1B1+(1-α1)α2B2);
B=A1(α1B1+(1-α1)α2B2);
但是在计算机图像中,透明度alpha通常也是A∈[0,255];
A∈[0,255];
所以,根据变化得到的公式是:
float a1=A1/256.0;float a2=A2/256.0;float a=1-(1-a1)*(1- a2);R=(a1*R1+(1-a1)*a2*R2)/a;G=(a1*G1+(1-a1)*a2*G2)/a;B =(a1*B1+(1-a1)*a2*B2)/a;A=a*256;
简化后:
float a1=A1;float a2=A2-(a1*A2)/256;float a=a1+a2;R= (a1*R1+a2*R2)/a;G=(a1*G1+a2*G2)/a;B=(a1*B1+a2*B2)/a;A=a。
具体而言,如图2所示,该抠像系统的步骤包括但不限于以下技术方 案:
实施例3(如图3和图4所示)
按照本发明再一个实施例的抠像系统1000,包括:
获取模块100,被设置为用于获取原始影像数据以及对应原始影像数 据的影像帧数据;
背景计算模块200,被设置为用于根据预设视频算法对影像帧数据进 行计算,得到影像背景帧数据;
筛选模块300,被设置为用于根据影像背景帧数据对影像帧数据进行 筛选,得到影像前景帧数据;
中间影像数据计算模块400,被设置为用于根据预设处理算法对影响 前景帧数据进行计算,得到中间影像帧数据;
融合模块500,被设置为用于根据中间影像帧数据与预设影像数据进 行融合,得到最终影像数据;
其中,影像背景帧数据为纯色背景帧数据,且为蓝色背景帧数据; 预设视频算法为R,G,B∈(0, 255),D小于0时为影像背景帧数据。
具体地,中间影像数据计算模块400包括:
拆分单元402,被设置为用于对影像前景数据进行拆分通道处理,得 到通道分数据;
阿尔法通道计算404,被设置为用于根据通道分数进行阿尔法通道计 算,得到通道阿尔法数据;
RGB通道计算406,被设置为用于根据通道阿尔发数据进行RGB通道 计算,得到中间影像帧数据;
其中,中间影像帧数据分别为R通道图、G通道图和B通道图。
进一步地,融合模块500的表达式为:
在初步数学计算中,颜色取值为:
R,G,B∈[0,255],A∈[0,1];
所以对于初步颜色混合公式:
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
标准的颜色混合算法如下:
R=1A(α1R1+(1-α1)α2R2)R=A1(α1R1+(1-α1)α2R2);
G=1A(α1G1+(1-α1)α2G2)G=A1(α1G1+(1-α1)α2G2);
B=1A(α1B1+(1-α1)α2B2);
B=A1(α1B1+(1-α1)α2B2);
但是在计算机图像中,透明度alpha通常也是A∈[0,255];
A∈[0,255];
所以,根据变化得到的公式是:
float a1=A1/256.0;float a2=A2/256.0;float a=1-(1-a1)*(1- a2);R=(a1*R1+(1-a1)*a2*R2)/a;G=(a1*G1+(1-a1)*a2*G2)/a;B =(a1*B1+(1-a1)*a2*B2)/a;A=a*256;
简化后:
float a1=A1;float a2=A2-(a1*A2)/256;float a=a1+a2;R= (a1*R1+a2*R2)/a;G=(a1*G1+a2*G2)/a;B=(a1*B1+a2*B2)/a;A=a。
实施例4(如图3和图4所示)
按照本发明第四个实施例的抠像系统1000,包括:
获取模块100,被设置为用于获取原始影像数据以及对应原始影像数 据的影像帧数据;
背景计算模块200,被设置为用于根据预设视频算法对影像帧数据进 行计算,得到影像背景帧数据;
筛选模块300,被设置为用于根据影像背景帧数据对影像帧数据进行 筛选,得到影像前景帧数据;
中间影像数据计算模块400,被设置为用于根据预设处理算法对影响 前景帧数据进行计算,得到中间影像帧数据;
融合模块500,被设置为用于根据中间影像帧数据与预设影像数据进 行融合,得到最终影像数据;
其中,影像背景帧数据为纯色背景帧数据,且为绿色背景帧数据; 预设视频算法包括:。
具体地,中间影像数据计算模块400包括:
拆分单元402,被设置为用于对影像前景数据进行拆分通道处理,得 到通道分数据;
阿尔法通道计算404,被设置为用于根据通道分数进行阿尔法通道计 算,得到通道阿尔法数据;
RGB通道计算406,被设置为用于根据通道阿尔发数据进行RGB通道 计算,得到中间影像帧数据;
其中,中间影像帧数据分别为R通道图、G通道图和B通道图。
进一步地,融合模块500的表达式为:
在初步数学计算中,颜色取值为:
R,G,B∈[0,255],A∈[0,1];
所以对于初步颜色混合公式:
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
标准的颜色混合算法如下:
R=1A(α1R1+(1-α1)α2R2)R=A1(α1R1+(1-α1)α2R2);
G=1A(α1G1+(1-α1)α2G2)G=A1(α1G1+(1-α1)α2G2);
B=1A(α1B1+(1-α1)α2B2);
B=A1(α1B1+(1-α1)α2B2);
但是在计算机图像中,透明度alpha通常也是A∈[0,255];
A∈[0,255];
所以,根据变化得到的公式是:
float a1=A1/256.0;float a2=A2/256.0;float a=1-(1-a1)*(1- a2);R=(a1*R1+(1-a1)*a2*R2)/a;G=(a1*G1+(1-a1)*a2*G2)/a;B =(a1*B1+(1-a1)*a2*B2)/a;A=a*256;
简化后:
float a1=A1;float a2=A2-(a1*A2)/256;float a=a1+a2;R= (a1*R1+a2*R2)/a;G=(a1*G1+a2*G2)/a;B=(a1*B1+a2*B2)/a;A=a。
基于手机摄像头开发架构,通过手机摄像头接口服务,获取手机摄 像头服务代理和设备代理,实现软件与手机摄像头之间的通信。软件通 过摄像头服务管理模块先获取手机摄像头服务实例,再通过封装一个手 机摄像头设备用户,来控制手机摄像头,这样的好处是响应速度更快。
Mattes控制其他图像透明与不透明的图像。Mattes通常是只包含一 个通道,是一幅黑白图像,通常黑色的区域代表完全透明,而白色区域 代表完全不透明,而灰色区域表示着半透明。
数字合成中的一个重要的操作就是从一幅图像中提取所要的前景, 让它与背景分离起来,这个过程就叫做提取Mattes,也叫做Keying,也就 是我们所说的抠像。这里使用的是Ch(roma-Key色度抠像)技术。
理解RGB三维空间:
这里引入坐标系的概念,方便的把代数问题可视化,方便分析问题, 普通的立体空间坐标系,一般用xyz来表示,横,竖,纵三个方向,如果 使用像素的RGB数值来表示三个向量方向,就可以组成一个新的坐标系, 这个坐标系通常称为RGB空间,因为RGB数值可以在显示器上表示颜色, 这样把整个RGB空间使用颜色像素完全填充。可以看到一个立方体,实 际上还有很多颜色空间。比如大家比较熟悉的hsv。
Chroma-Key顾名思义就是通过色调来提取Matte,如果预先对图像进 行调色处理,对于想要的像素,加大他与不想要的像素颜色之间的距离, 对于不想要的像素,减小与不想要像素的颜色之间的距离,就可以达到 提取matte的目的。
Chroma-Key是首先把图像转换到HSV空间,然后对整幅图像进行调 节,调节它的色调的偏移,范围,饱和度偏移,范围等,来达到上述目 的。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对 于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明 的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在 本发明的保护范围之内。

Claims (10)

1.一种抠像方法,其特征在于,包括以下步骤:
获取原始影像数据以及对应所述原始影像数据的影像帧数据;
根据预设视频算法对所述影像帧数据进行计算,得到影像背景帧数据;
根据所述影像背景帧数据对所述影像帧数据进行筛选,得到影像前景帧数据;
对所述影像前景帧数据进行预处理,得到中间影像帧数据;
根据所述中间影像帧数据与预设影像数据进行融合,得到最终影像数据;
其中,所述预设视频算法为R,G,B∈(0,255),D小于0时为所述影像背景帧数据。
2.根据权利要求1所述的抠像方法,其特征在于:所述影像背景帧数据为纯色背景帧数据。
3.根据权利要求2所述的抠像方法,其特征在于:所述纯色背景帧数据为蓝色背景帧数据或绿色背景帧数据。
4.根据权利要求1至3中任一项所述的抠像方法,其特征在于:所述预处理包括:
对所述影像前景数据进行拆分通道处理,得到通道分数据;
根据所述通道分数进行阿尔法通道计算,得到通道阿尔法数据;
根据所述通道阿尔发数据进行RGB通道计算,得到中间影像帧数据;
其中,所述中间影像帧数据分别为R通道图、G通道图和B通道图。
5.根据权利要求1至3中任一项所述的抠像方法,其特征在于:根据所述中间影像帧数据与预设影像数据进行融合的表达式为:
在初步数学计算中,颜色取值为:
R,G,B∈[0,255],A∈[0,1];
所以对于初步颜色混合公式:
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
标准的颜色混合算法如下:
R=1A(α1R1+(1-α1)α2R2)R=A1(α1R1+(1-α1)α2R2);
G=1A(α1G1+(1-α1)α2G2)G=A1(α1G1+(1-α1)α2G2);
B=1A(α1B1+(1-α1)α2B2);
B=A1(α1B1+(1-α1)α2B2);
但是在计算机图像中,透明度alpha通常也是A∈[0,255];
A∈[0,255];
所以,根据变化得到的公式是:
float a1=A1/256.0;float a2=A2/256.0;float a=1-(1-a1)*(1-a2);R=(a1*R1+(1-a1)*a2*R2)/a;G=(a1*G1+(1-a1)*a2*G2)/a;B=(a1*B1+(1-a1)*a2*B2)/a;A=a*256;
简化后:
float a1=A1;float a2=A2-(a1*A2)/256;float a=a1+a2;R=(a1*R1+a2*R2)/a;G=(a1*G1+a2*G2)/a;B=(a1*B1+a2*B2)/a;A=a。
6.一种抠像系统,其特征在于,包括:
获取模块,被设置为用于获取原始影像数据以及对应所述原始影像数据的影像帧数据;
背景计算模块,被设置为用于根据预设视频算法对所述影像帧数据进行计算,得到影像背景帧数据;
筛选模块,被设置为用于根据所述影像背景帧数据对所述影像帧数据进行筛选,得到影像前景帧数据;
中间影像数据计算模块,被设置为用于对所述影响前景帧数据进行预处理,得到中间影像帧数据;
融合模块,被设置为用于根据所述中间影像帧数据与预设影像数据进行融合,得到最终影像数据;
其中,所述预设视频算法为R,G,B∈(0,255),D小于0时为所述影像背景帧数据。
7.根据权利要求6所述的抠像系统,其特征在于:所述影像背景帧数据为纯色背景帧数据。
8.根据权利要求7所述的抠像系统,其特征在于:所述纯色背景帧数据为蓝色背景帧数据或绿色背景帧数据。
9.根据权利要求6至8中任一项所述的抠像系统,其特征在于:所述中间影像数据计算模块包括:
拆分单元,被设置为用于对所述影像前景数据进行拆分通道处理,得到通道分数据;
阿尔法通道计算,被设置为用于根据所述通道分数进行阿尔法通道计算,得到通道阿尔法数据;
RGB通道计算,被设置为用于根据所述通道阿尔发数据进行RGB通道计算,得到中间影像帧数据;
其中所述中间影像帧数据分别为R通道图、G通道图和B通道图。
10.根据权利要求6至8中任一项所述的抠像系统,其特征在于:所述融合模块的表达式为:
在初步数学计算中,颜色取值为:
R,G,B∈[0,255],A∈[0,1];
所以对于初步颜色混合公式:
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
Color(RGBA)=Color(R1G1B1A1)+Color(R2G2B2A2);
标准的颜色混合算法如下:
R=1A(α1R1+(1-α1)α2R2)R=A1(α1R1+(1-α1)α2R2);
G=1A(α1G1+(1-α1)α2G2)G=A1(α1G1+(1-α1)α2G2);
B=1A(α1B1+(1-α1)α2B2);
B=A1(α1B1+(1-α1)α2B2);
但是在计算机图像中,透明度alpha通常也是A∈[0,255];
A∈[0,255];
所以,根据变化得到的公式是:
float a1=A1/256.0;float a2=A2/256.0;float a=1-(1-a1)*(1-a2);R=(a1*R1+(1-a1)*a2*R2)/a;G=(a1*G1+(1-a1)*a2*G2)/a;B=(a1*B1+(1-a1)*a2*B2)/a;A=a*256;
简化后:
float a1=A1;float a2=A2-(a1*A2)/256;float a=a1+a2;R=(a1*R1+a2*R2)/a;G=(a1*G1+a2*G2)/a;B=(a1*B1+a2*B2)/a;A=a。
CN201910484456.2A 2019-06-05 2019-06-05 一种抠像方法及系统 Active CN110298783B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910484456.2A CN110298783B (zh) 2019-06-05 2019-06-05 一种抠像方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910484456.2A CN110298783B (zh) 2019-06-05 2019-06-05 一种抠像方法及系统

Publications (2)

Publication Number Publication Date
CN110298783A true CN110298783A (zh) 2019-10-01
CN110298783B CN110298783B (zh) 2024-04-19

Family

ID=68027628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910484456.2A Active CN110298783B (zh) 2019-06-05 2019-06-05 一种抠像方法及系统

Country Status (1)

Country Link
CN (1) CN110298783B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087664A (zh) * 2020-09-10 2020-12-15 北京小糖科技有限责任公司 一种移动端获得定制背景实时舞蹈视频的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395007A (zh) * 2011-06-30 2012-03-28 南京邮电大学 一种单色背景视频/图片抠像处理方法
CN207665081U (zh) * 2017-11-17 2018-07-27 广西师范大学 一种自动抠像的摄像装置
CN108961299A (zh) * 2017-05-18 2018-12-07 北京金山云网络技术有限公司 一种前景图像获得方法及装置
CN108965739A (zh) * 2018-06-22 2018-12-07 北京华捷艾米科技有限公司 视频抠像方法及机器可读存储介质
CN108965647A (zh) * 2017-05-18 2018-12-07 北京金山云网络技术有限公司 一种前景图像获得方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395007A (zh) * 2011-06-30 2012-03-28 南京邮电大学 一种单色背景视频/图片抠像处理方法
CN108961299A (zh) * 2017-05-18 2018-12-07 北京金山云网络技术有限公司 一种前景图像获得方法及装置
CN108965647A (zh) * 2017-05-18 2018-12-07 北京金山云网络技术有限公司 一种前景图像获得方法及装置
CN207665081U (zh) * 2017-11-17 2018-07-27 广西师范大学 一种自动抠像的摄像装置
CN108965739A (zh) * 2018-06-22 2018-12-07 北京华捷艾米科技有限公司 视频抠像方法及机器可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087664A (zh) * 2020-09-10 2020-12-15 北京小糖科技有限责任公司 一种移动端获得定制背景实时舞蹈视频的方法

Also Published As

Publication number Publication date
CN110298783B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
CN110691277B (zh) 视频信号的处理方法及装置
KR101246984B1 (ko) 멀티미디어 컬러 관리 시스템
RU2450476C2 (ru) Устройство и способ определения оптимальной задней подсветки
EP2498499B1 (en) Interpolation of color gamut for display on target display
CN103366364B (zh) 一种基于颜色差异的抠图方法
CN107409210A (zh) 匹配不同动态范围的彩色图片之间的色彩的方法和设备
CN108182672A (zh) 用于对hdr图像进行编码的方法和装置以及用于使用这样的编码图像的方法和装置
CN105991982B (zh) 用于成像系统的颜色匹配
CN106063263A (zh) 改进的屏幕内容和混合内容编码
KR20120107429A (ko) 구역 기반의 톤 매핑
CN110197463A (zh) 基于深度学习的高动态范围图像色调映射方法及其系统
CN106228581A (zh) 通过gpu将像素格式由argb转换为nv12的方法及系统
CN107211142A (zh) 对彩色图像进行解码的方法和设备
CN107211141A (zh) 对图像进行逆色调映射的方法和设备
CN113132696B (zh) 图像色调映射方法、装置、电子设备和存储介质
CN104935902A (zh) 图像色彩增强方法、装置及电子设备
CN106464923A (zh) 用于在比特流中用信号通知ldr画面的画面/视频格式和根据所述ldr画面和照明画面获得的解码的hdr画面的画面/视频格式的方法和设备
CN110248242A (zh) 一种图像处理和直播方法、装置、设备和存储介质
CN112991366B (zh) 对图像进行实时色度抠图的方法、装置及移动端
EP4261784A1 (en) Image processing method and apparatus based on artificial intelligence, and electronic device, computer-readable storage medium and computer program product
CN106327415A (zh) 图像处理方法及装置
US20190132600A1 (en) Method and apparatus for encoding/decoding a scalar integer into a parameter representative of a pivot points of a piece-wise linear function
CN110298783A (zh) 一种抠像方法及系统
US11039153B2 (en) Efficient processing of translucent objects in video keying
US7076112B2 (en) Image processing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 100000 Beijing Chaoyang District Time International Building A, 32nd Floor

Applicant after: Suzhou Changli Technology Co.,Ltd.

Address before: 100000 Beijing Chaoyang District Time International Building A, 32nd Floor

Applicant before: Beijing Changli Technology Co.,Ltd.

Country or region before: China

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 215000, Building 3, Gangcheng Plaza, No. 16 North Ring Road, Taicang Port Economic and Technological Development Zone, Suzhou City, Jiangsu Province, China, 1202-21

Patentee after: Suzhou Changli Technology Co.,Ltd.

Country or region after: China

Address before: 100000 Beijing Chaoyang District Time International Building A, 32nd Floor

Patentee before: Suzhou Changli Technology Co.,Ltd.

Country or region before: China