一种全景照片的拼接方法及装置的制造方法_2

文档序号:9418171阅读:来源:国知局
>[0036]实施例二
[0037]图3为本发明实施例二提供的一种全景照片的拼接方法的流程示意图,本实施例以上述实施例为基础进行优化,在本实施例中,对第一帧图像的处理方式以及拼接条件进行了优化。
[0038]相应的,本实施例的方法包括如下步骤:
[0039]步骤301、判断第一帧图像中包含的人脸区域的面积是否不小于第二帧图像中包含的人脸区域的面积,若是,则执行步骤302 ;否则,执行步骤303。
[0040]示例性的,当用户从左向右移动手中的终端进行全景拍摄时,如果第一帧图像中的右半部分出现了包含不完整人脸图像的人脸区域,那么随着终端的移动,第二帧图像中所出现的人脸区域的面积会大于第一帧图像中的人脸区域的面积,所以可执行步骤303,将第一帧图像中的人脸区域去除,作为最初的已拼接图像,因为第二帧图像或后面出现的图像中必然会出现完整的人脸区域,将完整的人脸区域与已拼接图像进行拼接,防止人脸图像发生失真;如果第一帧图像中的左半部分出现了包含不完整人脸图像的人脸区域,那么随着终端的移动,第二帧图像中所出现的人脸区域的面积会小于第一帧图像中的人脸区域的面积,所以可执行步骤302,直接确定第一帧图像为最初的已拼接图像;如果第一帧图像中已经包含了完整人脸图像的人脸区域,第二帧图像中所出现的人脸区域的面积可能会等于第一帧图像中的人脸区域的面积,也可执行步骤302。
[0041]步骤302、确定第一帧图像为最初的已拼接图像,执行步骤304。
[0042]步骤303、去除第一帧图像中的人脸区域,得到最初的已拼接图像,执行步骤304。
[0043]示例性的,可将当前图像对应的数据中去除人脸区域对应的数据部分,如像素等。
[0044]步骤304、当识别到当前图像中包含人脸区域时,判断人脸区域是否符合拼接条件,若是,则执行步骤305 ;否则,执行步骤306。
[0045]示例性的,在本步骤中,在判断当前图像中的人脸区域是否符合拼接条件时,可根据当前图像的帧数号的不同而进行区别处理,具体可包括:
[0046]1、当所述当前图像为第二帧图像至倒数第二帧图像中的任意一个时,判断人脸区域是否为预设完整人脸区域,若否,则确定不符合拼接条件;若是,则判断在拼接方向上,人脸区域的边界到当前图像边缘的最短距离是否大于预设距离值,若大于,则确定符合拼接条件,若不大于,则确定不符合拼接条件;其中,拼接方向为进行全景拍摄时摄像头的移动方向。
[0047]示例性的,本实施例中的预设完整人脸区域包含完整人脸轮廓,且预设完整人脸区域的面积大于完整人脸轮廓的面积。例如,完整人脸轮廓可被看做为椭圆形,在识别人脸时,可识别出人脸轮廓的尺寸大小,预设完整人脸区域可为在人脸轮廓四周多出人脸轮廓宽度的预设比例值(如20%,该比例值可根据实际应用情况进行调整)的区域,这样设置的好处在于,人脸轮廓的边缘区域可能会包括头发、帽子、以及各种饰品等与人脸密切相关的图像部分,可保证整个头部图像不会发生错位或扭曲等失真现象。
[0048]示例性的,所述预设距离值可由预设完整人脸区域的在拼接方向上的宽度决定。例如,预设距离值为所述宽度的预设比例值,例如20% (该比例值可根据实际应用情况进行调整),当预设完整人脸区域的在拼接方向上的宽度为140个像素的宽度时,预设距离值为140X20%= 28,即28个像素的宽度。
[0049]2、当所述当前图像为最后一帧图像时,判断最后一帧图像中包含的人脸区域的面积是否大于倒数第二帧图像中包含的人脸图像的面积,若是,则确定符合拼接条件;若否,则确定不符合拼接条件。
[0050]示例性的,当用户从左向右移动手中的终端进行全景拍摄时,如果最后一帧图像中的左半部分出现了包含不完整人脸图像的人脸区域,那么说明倒数第二帧图像中所出现的人脸区域的面积会大于最后一帧图像中的人脸区域的面积,再往前的某帧图像中也会出现完整的人脸图像,所以可执行步骤306,将最后一帧图像中的人脸区域去除,作为待拼接图像;如果最后一帧图像中的右半部分出现了包含不完整人脸图像的人脸区域,那么说明最后一帧图像中所出现的人脸区域的面积会大于倒数第二帧图像中的人脸区域的面积,所以可执行步骤305,直接确定最后一帧图像为待拼接图像;如果最后一帧图像中包含了完整人脸图像的人脸区域,倒数二帧图像中所出现的人脸区域的面积可能会等于最后一帧图像中的人脸区域的面积,也可执行步骤306。
[0051]在本步骤中,总的来说,对于同一个人物的人脸的处理方式是,当该人物的包含最多人脸信息的人脸区域第一次出现时,将该人脸区域进行保留并参与拼接,以确保该人物的人脸图像不发生错位及扭曲等失真现象。
[0052]步骤305、确定当前图像为当前待拼接图像,执行步骤307。
[0053]步骤306、从当前图像中去除人脸区域,得到当前待拼接图像,执行步骤307。
[0054]步骤307、将当前待拼接图像与已拼接图像拼接,形成新的已拼接图像。
[0055]本发明实施例二在实施例一的基础上,对拼接条件进行了详细说明,并对第一帧图像以及最后一帧图像采取了不同的处理方式,能够确保整个全景照片的完整性。
[0056]实施例三
[0057]图4为本发明实施例三提供的一种优选的全景照片的拼接方法的流程示意图。如图4所示,该方法包括:
[0058]步骤401、判断第一帧图像中包含的人脸区域的面积是否不小于第二帧图像中包含的人脸区域的面积,若是,则执行步骤402 ;否则,执行步骤403。
[0059]示例性的,在本步骤中,若第一帧图像中不包含人脸区域时,可视为人脸区域的面积为O。
[0060]步骤402、确定第一帧图像为最初的已拼接图像,执行步骤404。
[0061]步骤403、去除第一帧图像中的人脸区域,得到最初的已拼接图像,执行步骤404。
[0062]步骤404、识别当前图像中是否包含人脸区域,若是,则执行步骤405 ;否则,执行步骤406。
[0063]其中,当前图像为第二帧图像至倒数第二帧图像中的任意一个。当第一次执行本步骤时,所述当前图像为第二帧图像。
[0064]步骤405、判断当前图像中包含的人脸区域是否符合拼接条件,若是,则执行步骤406 ;否则,执行步骤407。
[0065]在本实施例中,可判断人脸区域是否为预设完整人脸区域,若否,则确定不符合拼接条件;若是,则判断在拼接方向上,人脸区域的边界到当前图像边缘的最短距离是否大于预设距离值,若大于,则确定符合拼接条件,若不大于,则确定不符合拼接条件。其中,拼接方向为进行全景拍摄时摄像头的移动方向。
[0066]预设完整人脸区域为在人脸轮廓四周多出人脸轮廓宽度的20%。例如,以像素为单位,当识别到人脸轮廓为100X100的区域,那么预设完整人脸区域的边长为(100X20% )+100+(100X20% ),即预设完整人脸区域为 140X140。
[0067]预设距离值为预设完整人脸区域的在拼接方向上的宽度的20%,如上述举例,预设距离值为140X20%= 28,即28个像素的宽度。
[0068]示例性的,如果当前图像中的人脸区域为140 X 60,则不符合拼接条件;如果当前图像中的人脸区域为140X140,但其在拼接方向上的边界到当前图像边缘的最短距离为20(小于28),那么不符合拼接条件。
[0069]步骤406、确定当前图像为当前待拼接图像,执行步骤408。
[0070]步骤407、从当前图像中去除人脸区域,得到当前待拼接图像,执行步骤408。
[0071 ] 示例性的,从当前图像中去除不符合拼接条件的人脸区域,如上述举例的140 X 60的人脸区域,得到当前待拼接图像。
[0072]步骤408、将当前待拼接图像与已拼接图像拼接,形成新的已拼接图像。
[0073]示例性的,当前图像中的人脸区域符合拼接条件时,之前的至少一帧图像在拼接时会去除掉不符合拼接条件的区域,如140X60的人脸区域,可将当前图像中的150X 150(在预设完整人脸区域四周多出一定的距离)人脸区域与已拼接图像进行拼接,确保图像拼接时不会出现空隙。由于用户在移动手中的终端时可能发生抖动,所以被去除的不符合拼接条件的人脸区域可能不在同一水平线上,拼接后,在去除人脸区域后的边界处可能会出现锯齿或曲线,将用于拼接的符合拼接条件的人脸区域设置为稍大于预设完整人脸区域时,可保证有充足的图像部分来弥补上述缺陷,避免出现空隙。
[0074]步骤409、判断当前图像的下一帧图像是否为最后一帧图像,若是,则执行步骤410;否则,将当前图像的下一帧图像作为新的当前图像,并返回执行步骤404。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1