一种防抖拍照方法、装置及终端
技术领域
本发明涉及电子技术领域,尤其涉及一种防抖拍照方法、装置及终端。
背景技术
用户在手持终端进行拍照的过程中,由于手或身体的颤抖,会导致拍出的照片模糊或者失真,为了防抖,有一些方案中使用重力传感器来检测拍照过程中是否发生抖动,这种方案需要在终端中布置多个重力传感器,而且检测效果误差较大。
发明内容
本发明提供一种防抖拍照方法、装置及终端,解决用户在拍照过程中由于手或身体的颤抖,导致拍出的照片模糊或者失真的问题。
为解决上述技术问题,本发明采用以下技术方案:
一种防抖拍照方法,包括:拍照过程中对预设场景采集至少两张图像,所述预设场景包括至少一个待拍摄的预设物体;识别相同的预设物体在各张图像中的成像数据;根据相同的预设物体在各张图像中的成像数据判断拍照过程中是否发生抖动;若判断结果为发生了抖动,则对其中一张图像进行矫正得到最终的照片。
优选的,所述拍照过程中对预设场景采集至少两张图像包括:通过主摄像模块在预设时间段内对预设场景采集至少两张图像;或者,通过主摄像模块和副摄像模块同时或在预设时间段内对预设场景分别采集至少一张图像。
优选的,所述成像数据为轮廓线数据。
优选的,根据相同的预设物体在各张图像中的成像数据判断拍照过程中是否发生抖动包括:基于同一参考位置或同一坐标系,比较相同的预设物体在各张图像中的成像数据的位置;根据比较结果判断拍照过程中是否发生抖动。
优选的,比较相同的预设物体在各张图像中的成像数据的位置包括:将所述至少两张图像中的一张作为基准图像,将相同的预设物体在其他各张图像中的成像数据的位置,与其在所述基准图像中的成像数据的位置进行比较。
一种防抖拍照装置,包括:至少一个摄像模块,用于拍照过程中对预设场景采集至少两张图像,所述预设场景包括至少一个待拍摄的预设物体;识别模块,用于识别相同的预设物体在各张图像中的成像数据;判断模块,用于根据相同的预设物体在各张图像中的成像数据判断拍照过程中是否发生抖动;矫正模块,用于若所述判断模块的判断结果为发生了抖动,则对其中一张图像进行矫正得到最终的照片。
优选的,所述至少一个摄像模块为一个主摄像模块,用于在预设时间段内对预设场景采集至少两张图像;或者,所述至少一个摄像模块包括主摄像模块和副摄像模块,用于同时或在预设时间段内对预设场景分别采集至少一张图像。
优选的,所述成像数据为轮廓线数据。
优选的,所述判断模块包括:比较子模块,用于基于同一参考位置或同一坐标系,比较相同的预设物体在各张图像中的成像数据的位置;判断子模块,用于根据所述比较子模块的比较结果判断拍照过程中是否发生抖动。
一种终端,包括上述任一项所述的防抖拍照装置。
本发明提供的防抖拍照方法、装置及终端,拍照过程中对预设场景采集至少两张图像,根据相同的预设物体在各张图像中的成像数据判断拍照过程中是否发生抖动,若发生了抖动,则对其中一张图像进行矫正得到最终的照片,解决了用户在拍照过程中由于手或身体的颤抖,导致拍出的照片模糊或者失真的问题,同时不需要额外增设硬件。
附图说明
图1为本发明一实施例提供的防抖拍照方法的流程图;
图2为本发明一实施例提供的防抖拍照装置的示意图。
具体实施方式
下面通过具体实施例对本发明进一步详细解释说明。
图1为本发明一实施例提供的防抖拍照方法的流程图,包括:
S101、拍照过程中对预设场景采集至少两张图像。
本实施例中,该预设场景包括至少一个待拍摄的预设物体;预设场景的人物、动物、摆设物、背景等都可作为预设物体,甚至,可以任意的定义预设场景中的某个物理区域作为一个预设物体,因此,本实施例中,预设物体具有较为宽泛的含义。
步骤S101可以通过同一个摄像模块在预设时间段内对预设场景采集得到该至少两张图像,也可以通过两个或两个以上的摄像模块同时或在预设时间段内对预设场景分别采集至少一张图像,得到该至少两张图像。优选的,对于具有主摄像模块和副摄像模块的终端而言,可通过主摄像模块在预设时间段内对预设场景采集得到该至少两张图像,或者通过主摄像模块和副摄像模块同时或在预设时间段内对预设场景分别采集至少一张图像,后者例如:拍照过程中,主摄像模块在t时刻对预设场景采集一张图像,副摄像模块在t-△t至t+△t这一时间段内对该预设场景采集得到至少5张图像。
S102、识别相同的预设物体在各张图像中的成像数据。
该成像数据可以是预设物体的轮廓在各张图像中成像得到的轮廓线数据,也可以是全部的成像数据。优选的,为轮廓线数据,这样可以提高识别效率。可通过CANNY边缘检测算子来获取轮廓线数据。
可以基于现有图像识别技术来识别相同的预设物体在各张图像中的成像数据。
S103、根据相同的预设物体在各张图像中的成像数据判断拍照过程中是否发生抖动。
判断是否发生抖动的方式有多种,在一些实施例中,若相同的预设物体在各张图像中的成像数据有的完整,有的缺失较多,这种情况认为拍照过程中抖动较大。
在另一些实施例中,还可以通过以下方式来判断:基于同一参考位置或同一坐标系,比较相同的预设物体在各张图像中的成像数据的位置,根据比较结果判断拍照过程中是否发生抖动。
例如,若基于同一参考位置或同一坐标系,相同的预设物体在其中两张图像中的成像数据的位置不同,则判断为发生了抖动,这种方式的判断较为严格;
又如,将步骤S101采集到的该至少两张图像中的一张作为基准图像,基于同一参考位置或同一坐标系,将相同的预设物体在其他各张图像中的成像数据的位置,与其在该基准图像中的成像数据的位置进行比较,基于得到的各位置差求均值,若均值大于或等于阈值,则判断为发生了抖动。优选的,基准图像为主摄像模块采集到的图像。
S104、若判断结果为发生了抖动,则对其中一张图像进行矫正得到最终的照片。例如,对上述基准图像进行矫正得到最终的照片。
优选的,对主摄像模块采集到的图像进行矫正得到最终的照片。
S105、若判断结果为未发生抖动,则无需矫正,可直接将其中一张图像作为最终的照片。优选的,直接将主摄像模块采集到的图像作为最终的照片。
图2为本发明一实施例提供的防抖拍照装置的示意图,如图2所示,防抖拍照装置包括至少一个摄像模块、识别模块、判断模块和矫正模块,其中,至少一个摄像模块用于拍照过程中对预设场景采集至少两张图像,所述预设场景包括至少一个待拍摄的预设物体;识别模块用于识别相同的预设物体在各张图像中的成像数据;判断模块用于根据相同的预设物体在各张图像中的成像数据判断拍照过程中是否发生抖动;矫正模块用于若所述判断模块的判断结果为发生了抖动,则对其中一张图像进行矫正得到最终的照片。优选的,所述成像数据为轮廓线数据。
在一些实施例中,所述至少一个摄像模块为一个主摄像模块,用于在预设时间段内对预设场景采集至少两张图像;在另一些实施例中,所述至少一个摄像模块包括主摄像模块和副摄像模块,用于同时或在预设时间段内对预设场景分别采集至少一张图像。
在一些实施例中,所述判断模块包括:比较子模块,用于基于同一参考位置或同一坐标系,比较相同的预设物体在各张图像中的成像数据的位置;判断子模块,用于根据所述比较子模块的比较结果判断拍照过程中是否发生抖动。优选的,比较子模块具体用于将所述至少两张图像中的一张作为基准图像,将相同的预设物体在其他各张图像中的成像数据的位置,与其在所述基准图像中的成像数据的位置进行比较。
本发明还提供一种终端,包括上述任一项所述的防抖拍照装置。终端包括但不局限于手机、PC。
本发明解决了用户在拍照过程中由于手或身体的颤抖,导致拍出的照片模糊或者失真的问题,同时不需要额外增设硬件。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。