本发明涉及图像处理技术领域,尤其涉及一种图像合成方法及装置。
背景技术
当前,在拍摄多个人的合影时,拍摄者通常是先拍摄一张图像,如果发现该图像中有至少一个合影人员拍得不理想,例如出现闭眼睛或者姿势没有摆好等情况,则重新拍摄,这不仅需要拍摄者重新执行拍摄操作,还需要所有合影人员重新摆好姿势,实现起来很不方便,且仍难以保证所有合影人员都达到令人满意的拍摄效果。为了在拍摄多人合影时,保证最终合影的拍摄效果,目前也采用图像合成方法来得到最终合影。
其中,现有图像合成方法一般基于人脸检测。例如基于人脸检测,对多个人脸区域进行图像缝合,保证合影中所有人脸区域满足拍摄效果。但实际拍摄多个人的合影时,有时不要求多个人的脸部特征都满足要求,而是要求多个人的姿势都满足要求,这时,基于人脸检测的图像合成方法将不能得到满足要求的合成图像。
技术实现要素:
本发明的目的在于提供一种图像合成方法及装置,以解决现有的图像合成方法常不能得到满足姿势要求的合成图像的问题。
一方面,本发明提供一种图像合成方法,其特征在于,包括:
对多个目标对象进行多次拍摄,得到多张图像;
将所述多张图像中的每张图像划分为多个图像区域,每个图像区域对应一个目标对象;
从每个目标对象对应的多个图像区域中,选取一个符合预定姿势条件的待合成图像区域;
对选取的每个目标对象对应的待合成图像区域进行融合处理,得到包含所述多个目标对象的合成图像。
优选的,所述对多个目标对象进行多次拍摄,得到多张图像的步骤之后,所述将所述多张图像中的每张图像划分为多个图像区域的步骤之前,所述方法还包括:
对所述多张图像进行处理,提取基于所述多张图像的背景图像;
所述对选取的每个目标对象对应的待合成图像区域进行融合处理,得到包含所述多个目标对象的合成图像的步骤,包括:
对所述背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含所述多个目标对象的合成图像。
优选的,所述对多个目标对象进行多次拍摄,得到多张图像的步骤之前,所述方法还包括:
拍摄所述多张图像对应的静态背景图像;
所述对所述多张图像进行处理,提取基于所述多张图像的背景图像的步骤,包括:
分别获取所述静态背景图像和所述多张图像中的每一个像素的颜色值;
利用单高斯背景模型,对所述静态背景图像和所述多张图像中的位置对应的每一个像素的颜色值进行分析,得到所述每一个像素的颜色值对应的期望值和偏差;
对于所述多张图像中的每张图像,根据所述每一个像素的颜色值对应的期望值和偏差,确定所述每一个像素是背景像素还是前景像素,得到确定结果;
根据所述确定结果,提取基于所述多张图像的背景图像。
优选的,所述将所述多张图像中的每张图像划分为多个图像区域的步骤,包括:
根据所述确定结果,对所述每张图像进行预处理;
反转预处理后的每张图像,获得所述每张图像对应的灰度图;
利用分水岭算法,对所述每张图像对应的灰度图进行分割,得到多个区域;
基于对所述每张图像对应的灰度图进行分割得到的多个区域,将所述每张图像划分为多个图像区域。
优选的,所述从每个目标对象对应的多个图像区域中,选取一个符合预定姿势条件的待合成图像区域的步骤,包括:
对于每个目标对象对应的多个图像区域,分别计算每个图像区域中所有前景像素距离相应图像底边的平均距离;
从每个目标对象对应的多个图像区域中,选取计算得到的平均距离最大的图像区域作为所述每个目标对象对应的待合成图像区域。
优选的,所述对所述背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含所述多个目标对象的合成图像的步骤,包括:
利用如下公式一对所述背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含所述多个目标对象的合成图像;
ib(x,y)*(1-maski(x,y))+si(x,y)*maski(x,y)公式一
其中,(x,y)表示像素坐标,ib(x,y)表示背景图像中像素(x,y)的颜色值,i∈{num=(n1,n2...np)}表示待合成图像区域,共有p个待合成图像区域,si(x,y)表示待合成图像区域i中像素(x,y)的颜色值,maski(x,y)表示合成比例,当待合成图像区域i中像素(x,y)为前景像素时,maski(x,y)=1,而当像素(x,y)为背景像素时,
另一方面,本发明还提供一种图像合成装置,包括:
第一拍摄模块,用于对多个目标对象进行多次拍摄,得到多张图像;
划分模块,用于将所述多张图像中的每张图像划分为多个图像区域,每个图像区域对应一个目标对象;
选取模块,用于从每个目标对象对应的多个图像区域中,选取一个符合预定姿势条件的待合成图像区域;
融合处理模块,用于对选取的每个目标对象对应的待合成图像区域进行融合处理,得到包含所述多个目标对象的合成图像。
优选的,所述装置还包括:
提取模块,用于对所述多张图像进行处理,提取基于所述多张图像的背景图像;
所述融合处理模块具体用于:
对所述背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含所述多个目标对象的合成图像。
优选的,所述装置还包括:
第二拍摄模块,用于拍摄所述多张图像对应的静态背景图像;
所述提取模块包括:
获取单元,用于分别获取所述静态背景图像和所述多张图像中的每一个像素的颜色值;
分析单元,用于利用单高斯背景模型,对所述静态背景图像和所述多张图像中的位置对应的每一个像素的颜色值进行分析,得到所述每一个像素的颜色值对应的期望值和偏差;
确定单元,用于对于所述多张图像中的每张图像,根据所述每一个像素的颜色值对应的期望值和偏差,确定所述每一个像素是背景像素还是前景像素,得到确定结果;
提取单元,用于根据所述确定结果,提取基于所述多张图像的背景图像。
优选的,所述划分模块包括:
预处理单元,用于根据所述确定结果,对所述每张图像进行预处理;
处理单元,用于反转预处理后的每张图像,获得所述每张图像对应的灰度图;
分割单元,用于利用分水岭算法,对所述每张图像对应的灰度图进行分割,得到多个区域;
划分单元,用于基于对所述每张图像对应的灰度图进行分割得到的多个区域,将所述每张图像划分为多个图像区域。
优选的,所述选取模块包括:
计算单元,用于对于每个目标对象对应的多个图像区域,分别计算每个图像区域中所有前景像素距离相应图像底边的平均距离;
选取单元,用于从每个目标对象对应的多个图像区域中,选取计算得到的平均距离最大的图像区域作为所述每个目标对象对应的待合成图像区域。
优选的,所述融合处理模块具体用于:
利用如下公式一对所述背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含所述多个目标对象的合成图像;
ib(x,y)*(1-maski(x,y))+si(x,y)*maski(x,y)公式一
其中,(x,y)表示像素坐标,ib(x,y)表示背景图像中像素(x,y)的颜色值,i∈{num=(n1,n2...np)}表示待合成图像区域,共有p个待合成图像区域,si(x,y)表示待合成图像区域i中像素(x,y)的颜色值,maski(x,y)表示合成比例,当待合成图像区域i中像素(x,y)为前景像素时,maski(x,y)=1,而当像素(x,y)为背景像素时,
本发明的图像合成方法,通过拍摄针对多个目标对象的多张图像,将每张图像划分为多个图像区域,每个图像区域对应一个目标对象,从每个目标对象对应的多个图像区域中,选取一个符合预定姿势条件的待合成图像区域,并对选取的待合成图像区域进行融合处理,能够得到每个目标对象的姿势都满足要求的合成图像。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示本发明实施例的图像合成方法的流程图;
图2表示本发明具体实施的提取基于多张图像的背景图像的流程图;
图3表示本发明具体实例的将图像a的灰度图分割后的示意图;
图4表示本发明具体实例的选取每个目标对象对应的待合成图像区域的示意图;
图5表示对图4中选取的待合成图像区域进行叠加融合处理后得到合成图像的示意图;
图6表示本发明实施例的图像合成装置的结构示意图之一;
图7表示本发明实施例的图像合成装置的结构示意图之二;
图8表示本发明实施例的图像合成装置的结构示意图之三。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,本发明实施例提供一种图像合成方法,包括如下步骤:
步骤101:对多个目标对象进行多次拍摄,得到多张图像;
步骤102:将所述多张图像中的每张图像划分为多个图像区域,每个图像区域对应一个目标对象;
步骤103:从每个目标对象对应的多个图像区域中,选取一个符合预定姿势条件的待合成图像区域;
步骤104:对选取的每个目标对象对应的待合成图像区域进行融合处理,得到包含所述多个目标对象的合成图像。
本发明实施例的图像合成方法,通过拍摄针对多个目标对象的多张图像,将每张图像划分为多个图像区域,每个图像区域对应一个目标对象,从每个目标对象对应的多个图像区域中,选取一个符合预定姿势条件的待合成图像区域,并对选取的待合成图像区域进行融合处理,能够得到每个目标对象的姿势都满足要求的合成图像。
其中,目标对象具体为人。对多个目标对象进行的多次拍摄是连续的,相应得到的多张图像是满足时间序列的图像,而拍摄终端例如相机可固定不动。
本发明实施例中,在对每个目标对象对应的待合成图像区域进行融合处理,得到包含多个目标对象的合成图像时,若相邻目标对象对应的待合成图像区域的边界没有完美匹配,则融合处理得到的合成图像会出现融合缝隙,影响合成图像的合成效果。为了避免合成图像出现缝隙,在得到合成图像时,可利用合适的背景图像和每个目标对象对应的待合成图像区域进行叠加融合处理,以保证合成图像的合成效果。
所以,本发明实施例中,在拍摄多张图像之后,该图像合成方法还可包括:
对多张图像进行处理,提取基于多张图像的背景图像。
而上述步骤104具体为:
对背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含多个目标对象的合成图像。
在提取背景图像时,可利用颜色背景模,主要是对图像中每一个像素的颜色值(或灰度值)进行建模,若当前图像坐标(x,y)上像素的颜色值与背景模型中坐标(x,y)上像素的颜色值有较大差异,则该像素被认为是前景像素,否则被认为是背景像素。因拍摄多张图像时,场景背景变化幅度较小,所以颜色背景模可选用单高斯背景模型(singlegaussianbackgroundmodel)。该单高斯背景模型的基本思想为:将n张图像中每一个像素的颜色值看成是一个随机过程x,并假设该像素的某一颜色值出现的概率服从高斯分布。令i(x,y,t)表示像素(x,y)在t时刻的颜色值,则有:
其中,ut和σt分别为n个图像的该像素高斯分布的期望值和标准差。简单来说,每一个像素的单高斯背景模型包含一个期望值和一个偏差。
而为了提高提取背景图像的准确性,可在拍摄多张图像之前,拍摄多张图像对应的静态背景图像,并结合静态背景图像和多张图像提取基于该多张图像的背景图像。
即本发明实施例中,在拍摄多张图像之前,该图像合成方法还可包括:
拍摄多张图像对应的静态背景图像。
进一步地,参见图2所示,对多张图像进行处理,提取基于多张图像的背景图像的过程可具体为:
步骤201:分别获取所述静态背景图像和所述多张图像中的每一个像素的颜色值;
步骤202:利用单高斯背景模型,对所述静态背景图像和所述多张图像中的位置对应的每一个像素的颜色值进行分析,得到所述每一个像素的颜色值对应的期望值和偏差;
步骤203:对于所述多张图像中的每张图像,根据所述每一个像素的颜色值对应的期望值和偏差,确定所述每一个像素是背景像素还是前景像素,得到确定结果;
步骤204:根据所述确定结果,提取基于所述多张图像的背景图像。
这样,结合静态背景图像和多张图像提取基于多张图像的背景图像,可提高提取准确性。
本发明实施例中,每一个像素的颜色值对应的期望值和偏差是利用静态背景图像和多张图像共同计算出的,具体计算过程可为:假设计算像素(x,y)的颜色值对应的期望值和偏差,静态背景图像中对应像素(x,y)的颜色值为b(x,y),n张图像中位置对应(即位置坐标一致)像素(x,y)的颜色值为i(x,y,n)(n=1、2…n),则像素(x,y)的颜色值对应的期望值u(x,y)和偏差σ(x,y)分别为:
其中,
对于每张图像n,根据每一个像素的颜色值对应的期望值和偏差,确定每一个像素是背景像素还是前景像素的方式为:令o(x,y,n)为输出,则:
其中,β表示预设值,根据实际需求设定。当o(x,y,n)=0时,表示对应像素为背景像素,当o(x,y,n)=0时,表示对应像素为前景像素。而依据上述公式的输出结果,即可获得确定结果,该确定结果表示每一个像素是背景像素还是前景像素。进一步地,借助该确定结果,可获知每张图像中哪些像素是背景像素,哪些像素是前景像素,从而根据该确定结果,可将每张图像划分为多个图像区域,每个图像区域对应一个目标对象。
本发明实施例中,将多张图像中的每张图像划分为多个图像区域主要是分割目标对象,保证每个图像区域对应一个目标对象,每个目标对象对应的多个图像区域。在将每张图像划分为多个图像区域时,可选择现有的根据空间连续性来分割目标的连通区域检测算法-分水岭算法。
具体的,将多张图像中的每张图像划分为多个图像区域的过程可为:
首先:根据确定结果,对每张图像进行预处理;其中,预处理过程例如为通过形态学开运算来去除噪声;
其次,反转预处理后的每张图像,获得每张图像对应的灰度图;其中,在获得灰度图时可基于已确定的背景像素到前景像素的距离;
然后,利用分水岭算法,对每张图像对应的灰度图进行分割,得到多个区域;
最后,基于对每张图像对应的灰度图进行分割得到的多个区域,将每张图像划分为多个图像区域。
例如,参见图3所示,为本发明具体实例的将图像a的灰度图分割后的示意图。图像a中包含4个目标对象,对图像a的灰度图进行分割后,得到4个区域,分别区域1、区域2、区域3和区域4。
需要指出的是,本发明适用的场景可为拍摄多人跳跃合影的场景,此种场景下,预定姿势条件可为目标对象即人的跳跃高度是自身跳跃高度中的最高值。基于此,本发明实施例中,从每个目标对象对应的多个图像区域中,选取一个符合预定姿势条件的待合成图像区域的过程可为:
首先,对于每个目标对象对应的多个图像区域,分别计算每个图像区域中所有前景像素距离相应图像底边的平均距离;
然后,从每个目标对象对应的多个图像区域中,选取计算得到的平均距离最大的图像区域作为所述每个目标对象对应的待合成图像区域。
例如,参见图4所示,为本发明具体实例的选取每个目标对象对应的待合成图像区域的示意图。图4中,具有6张图像(i(1)~i(6)),每张图像通过划分得到4个图像区域,每个图像区域对应一个人,每个人对应6个图像区域;对于每个人对应的6个图像区域,分别计算每个图像区域中所有前景像素(即非零像素)距离相应图像底边的平均距离,从每个人对应的6个图像区域中,选取计算得到的平均距离最大的图像区域作为对应人的待合成图像区域;最后,选取了4个待合成图像区域,分别为s1、s2、s3和s4,第一人对应的s1从第4张图像中选取,第二人对应的s2从第3张图像中选取,第三人对应的s3从第5张图像中选取,第四人对应的s4从第2张图像中选取,并可记待合成图像区域s1、s2、s3和s4的图像编号为n1、n2、n3和n4。
本发明实施例中,在选取每个目标对象对应的待合成图像区域后,可通过高斯羽化融合的方法对背景图像和每个目标对象对应的待合成图像区域进行叠加融合处理,以使图像融合自然,图像合成效果佳。其中,高斯羽化融合的方法主要是利用高斯羽化模板进行目标对象边缘的羽化。高斯羽化模板可表示为maski(x,y),即合成比例,i∈{num=(n1,n2...np)},即高斯羽化模板与每个目标对象的待合成图像区域是对应的,当待合成图像区域i中像素(x,y)为前景像素时,maski(x,y)=1,而当像素(x,y)为背景像素时,
具体的,对背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含多个目标对象的合成图像的过程可为:
利用如下公式一对背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含多个目标对象的合成图像;
ib(x,y)*(1-maski(x,y))+si(x,y)*maski(x,y)公式一
其中,(x,y)表示像素坐标,ib(x,y)表示背景图像中像素(x,y)的颜色值,i∈{num=(n1,n2...np)}表示待合成图像区域,共有p个待合成图像区域,si(x,y)表示待合成图像区域i中像素(x,y)的颜色值,maski(x,y)表示合成比例。
例如,参见图5所示,通过对背景图像和图4中选取的4个待合成图像区域的叠加融合处理,可得到包含全部人的合成图像,且所有人的跳跃高度是各自跳跃高度中的最高值。
上述实施例对本发明的图像合成方法进行了详细的说明,下面将结合实施例和附图对本发明的图像合成装置进行说明。
参见图6所示,本发明实施例还提供一种图像合成装置,包括:
第一拍摄模块61,用于对多个目标对象进行多次拍摄,得到多张图像;
划分模块62,用于将所述多张图像中的每张图像划分为多个图像区域,每个图像区域对应一个目标对象;
选取模块63,用于从每个目标对象对应的多个图像区域中,选取一个符合预定姿势条件的待合成图像区域;
融合处理模块64,用于对选取的每个目标对象对应的待合成图像区域进行融合处理,得到包含所述多个目标对象的合成图像。
本发明实施例的图像合成装置,通过拍摄针对多个目标对象的多张图像,将每张图像划分为多个图像区域,每个图像区域对应一个目标对象,从每个目标对象对应的多个图像区域中,选取一个符合预定姿势条件的待合成图像区域,并对选取的待合成图像区域进行融合处理,能够得到每个目标对象的姿势都满足要求的合成图像。
本发明实施例中,参见图7所示,所述装置还包括:
提取模块65,用于对所述多张图像进行处理,提取基于所述多张图像的背景图像。
而所述融合处理模块64具体用于:
对所述背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含所述多个目标对象的合成图像。
本发明实施例中,参见图8所示,所述装置还包括:
第二拍摄模块66,用于拍摄所述多张图像对应的静态背景图像。
而所述提取模块65包括:
获取单元651,用于分别获取所述静态背景图像和所述多张图像中的每一个像素的颜色值;
分析单元652,用于利用单高斯背景模型,对所述静态背景图像和所述多张图像中的位置对应的每一个像素的颜色值进行分析,得到所述每一个像素的颜色值对应的期望值和偏差;
确定单元653,用于对于所述多张图像中的每张图像,根据所述每一个像素的颜色值对应的期望值和偏差,确定所述每一个像素是背景像素还是前景像素,得到确定结果;
提取单元654,用于根据所述确定结果,提取基于所述多张图像的背景图像。
具体的,参见图8所示,所述划分模块62包括:
预处理单元621,用于根据所述确定结果,对所述每张图像进行预处理;
处理单元622,用于反转预处理后的每张图像,获得所述每张图像对应的灰度图;
分割单元623,用于利用分水岭算法,对所述每张图像对应的灰度图进行分割,得到多个区域;
划分单元624,用于基于对所述每张图像对应的灰度图进行分割得到的多个区域,将所述每张图像划分为多个图像区域。
具体的,参见图8所示,所述选取模块63包括:
计算单元631,用于对于每个目标对象对应的多个图像区域,分别计算每个图像区域中所有前景像素距离相应图像底边的平均距离;
选取单元632,用于从每个目标对象对应的多个图像区域中,选取计算得到的平均距离最大的图像区域作为所述每个目标对象对应的待合成图像区域。
其中,所述融合处理模块64具体用于:
利用如下公式一对所述背景图像和选取的每个目标对象对应的待合成图像区域进行叠加融合处理,得到包含所述多个目标对象的合成图像;
ib(x,y)*(1-maski(x,y))+si(x,y)*maski(x,y)公式一
其中,(x,y)表示像素坐标,ib(x,y)表示背景图像中像素(x,y)的颜色值,i∈{num=(n1,n2...np)}表示待合成图像区域,共有p个待合成图像区域,si(x,y)表示待合成图像区域i中像素(x,y)的颜色值,maski(x,y)表示合成比例,当待合成图像区域i中像素(x,y)为前景像素时,maski(x,y)=1,而当像素(x,y)为背景像素时,
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。