图像处理方法和装置、电子设备、可读存储介质与流程

文档序号:23619058发布日期:2021-01-12 10:29阅读:71来源:国知局
图像处理方法和装置、电子设备、可读存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种图像处理方法和装置、电子设备、可读存储介质。



背景技术:

随着技术的发展,电子设备的拍摄功能越来越强大,用户可以通过电子设备拍摄出多种具有特殊效果的图像。例如,对于存在运动物体的动态场景,可以通过长曝光拍摄出具有行云流水、车流、光轨等效果的图像。但是,在拍摄出这些具有特殊效果的图像时,对拍摄设备及用户的拍摄技术水平要求较高。且传统方法中即使用户借助于脚架进行拍摄多帧图像,并通过多帧图像模拟合成图像,所得图像依然不能很好地体现出上述特殊效果。

而大量的普通用户一般并没有专用的拍摄设备,且拍摄技术水平也不高。因此,对于大量的普通用户就更难随手拍摄出这些具有特殊效果的图像。



技术实现要素:

本申请实施例提供了一种图像处理方法和装置、电子设备、可读存储介质,可以使得大量的普通用户随手就可以拍摄出具有特殊效果的图像。

一种图像处理方法,所述方法包括:

获取连续拍摄所得的图像序列,所述图像序列中的各图像帧均包括运动区域;

对所述图像序列中的各图像帧进行图像配准,生成配准后的图像序列;

将所述配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像。

一种图像处理装置,所述装置包括:

图像序列拍摄模块,用于获取连续拍摄所得的图像序列,所述图像序列中的各图像帧均包括运动区域;

图像配准模块,用于对所述图像序列中的各图像帧进行图像配准,生成配准后的图像序列;

图像融合模块,用于将所述配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像。

一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述的图像处理方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的图像处理方法的步骤。

上述图像处理方法和装置、电子设备、计算机可读存储介质,获取连续拍摄所得的图像序列,图像序列中的各图像帧均包括运动区域,对图像序列中的各图像帧进行图像配准,生成配准后的图像序列。将配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像。首先,通过图像配准可以避免不同图像帧上的内容错位而导致最终进行图像融合所生成的目标图像的模糊问题。其次,因为是对连续拍摄所得的图像序列进行配准,生成配准后的图像序列,所以将配准后的图像序列中各图像帧的运动区域进行图像融合,就可以生成类似于专业相机所拍摄出的长曝光目标图像。从而,最终实现了目标图像能够呈现出特殊的效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中图像处理方法的应用环境图;

图2为一个实施例中图像处理方法的流程图;

图3为一个实施例中图像处理过程的示意图;

图4为图2中对图像序列中的图像帧进行图像配准方法的流程图;

图5为图2中将配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像方法的流程图;

图6为一个实施例中计算配准后的图像序列的运动区域掩膜方法的流程图;

图7为一个具体的实施例中图像处理方法的流程图;

图8为一个实施例中图像处理装置的结构框图;

图9为图8中图像配准模块的结构框图;

图10为图8中图像融合模块的结构框图;

图11为一个实施例中电子设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中图像处理方法的应用场景图。如图1所示,该应用环境包括电子设备120。电子设备120通过本申请中的图像处理方法,获取连续拍摄所得的图像序列,图像序列中的各图像帧均包括运动区域;对图像序列中的各图像帧进行图像配准,生成配准后的图像序列;将配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像。这里,电子设备120可以是手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、穿戴式设备、智能家居设备等任意终端设备。

图2为一个实施例中图像处理方法的流程图。本实施例中的图像处理方法,以运行于图1中的电子设备120上为例进行描述。如图2所示,图像处理方法包括步骤220至步骤260。其中,

步骤220,获取连续拍摄所得的图像序列,图像序列中的各图像帧均包括运动区域。

对于存在运动物体的动态场景,对同一动态场景连续拍摄多帧图像构成图像序列,这些图像序列可以是由普通用户不借助于脚架随手拍摄所得。其中,图像序列指的是按照一定顺序排列的图像所构成的序列。在这里,因为图像序列是对同一动态场景连续拍摄所得,所以图像序列中的各图像帧均包括同一运动区域,以便于后续进行图像配准和图像融合。其中,图像序列中图像帧的数目一般设置在大于50帧,例如,60帧、70帧或100帧,本申请对此不做限定。这里的图像序列可以是实时拍摄所得,也可以是从数据库中获取预先存储的图像,本申请对此不做限定。这里存在运动物体的动态场景,可以不限定于存在流水、行云、光流等动态场景。

步骤240,对图像序列中的各图像帧进行图像配准,生成配准后的图像序列。

因为对同一动态场景连续拍摄多帧图像构成图像序列,所以图像序列中的各图像帧之间会存在一定程度的内容偏差,尤其是在不借助于脚架随手进行拍摄时,内容偏差会更加明显。因此,就可以通过对图像序列中的各图像帧进行图像配准,来消除内容偏差的影响。

具体的,通过对不同的图像帧进行图像配准,可以使得同一对象的图像的像素点在不同图像帧上的位置能够对齐,以使不同图像帧上发生错位的内容能够对齐。其中,在对图像序列中的各图像帧进行图像配准时,可以是从图像序列中选择清晰度超过预设清晰度阈值的图像帧进行图像配准。从而,避免不清楚的图像帧会降低后续图像融合所得的目标图像的清晰度。

步骤260,将配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像。

其中,目标图像为具有类似于专业相机所拍摄出的长曝光效果的图像。因为配准后的图像序列中各图像帧的静止区域并不会发生太大变化,因此,在生成类似于专业相机所拍摄出的长曝光目标图像时,就只需要将配准后的图像序列中各图像帧的运动区域进行图像融合。再将融合后的运动区域与图像序列中的任一图像帧的静止区域进行图像融合,即可生成长曝光目标图像。

例如,对于存在流水的拍摄场景,可以通过本申请实施例中的图像处理方法,使得图像中呈现出流水如丝绸般丝滑美观的特殊效果,展现出流水的动态过程。

例如,如图3所示,图中320、340为对同一动态场景连续拍摄多帧图像构成图像序列中的任意两帧图像。图中360为对图像序列中的各图像帧进行图像配准,生成配准后的图像序列,并将配准后的图像序列中各图像帧的运动区域进行图像融合,所生成的目标图像。目标图像中能够呈现出流水如丝绸般丝滑美观的特殊效果,展现出流水的动态过程。

本申请实施例中,获取连续拍摄所得的图像序列,图像序列中的各图像帧均包括运动区域,对图像序列中的各图像帧进行图像配准,生成配准后的图像序列。将配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像。首先,通过图像配准可以避免不同图像帧上的内容错位而导致最终进行图像融合所生成的目标图像的模糊问题。其次,因为是对连续拍摄所得的图像序列进行配准,生成配准后的图像序列,所以将配准后的图像序列中各图像帧的运动区域进行图像融合,就可以生成类似于专业相机所拍摄出的长曝光目标图像。从而,最终实现了目标图像能够呈现出特殊的效果。

在一个实施例中,将配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像,包括:

将配准后的图像序列中各图像帧的运动区域进行图像叠加或图像拼接,生成目标图像。

具体的,在将配准后的图像序列中各图像帧的运动区域进行图像融合的时候,可以采用图像叠加或图像拼接的方式来生成目标图像。其中,图像叠加指的是将两帧或多帧图像的像素值进行加权叠加(也可以称之为融合)。图像拼接指的是将两帧或多帧有重叠部分的图像拼接成一幅无缝的全景图或高分辨率图像。

因此,在生成具有长曝光效果的目标图像时,可以将配准后的图像序列中各图像帧的运动区域进行图像叠加,得到图像叠加后的运动区域。再将图像叠加后的运动区域与图像序列中的任一图像帧进行图像叠加,从而生成具有长曝光效果的目标图像。或将图像叠加后的运动区域与图像序列中的任一图像帧的静止区域进行图像拼接,即可生成具有长曝光效果的目标图像。本申请对此不做限定。

本申请实施例中,可以采用图像叠加或图像拼接的方式将配准后的图像序列中各图像帧的运动区域进行图像融合,就可以生成类似于专业相机所拍摄出的长曝光目标图像。从而,最终实现了目标图像能够呈现出特殊的效果。

在一个实施例中,如图4所示,步骤240,对图像序列中的图像帧进行图像配准,生成配准后的图像序列,包括:

步骤242,从图像序列中确定第一参考帧。

从图像序列中可以选取任一图像帧作为第一参考帧,本申请对此不做限定。当然,也可以选择图像序列中的第一帧作为第一参考帧,或选择图像序列的中间帧作为第一参考帧。当选择图像序列中的第一帧作为第一参考帧时,将图像序列的第二帧至最后一帧依次均与第一帧进行图像配准。当选择图像序列中的中间帧作为第一参考帧时,将图像序列中除去中间帧之外的其他图像帧依次与第一参考帧进行图像匹配。鉴于中间帧位于整个图像序列的中间,所以其他图像帧距离中间帧的时间都比较均匀,因此,将图像序列中除去中间帧之外的其他图像帧依次与第一参考帧进行图像匹配时的计算量较小。

步骤244,将图像序列中的第一图像帧与第一参考帧进行配准,生成配准后的图像帧;第一图像帧为图像序列中除去第一参考帧之外的其他图像帧。

在确定出了第一参考帧之后,将从图像序列中除去第一参考帧之外的其他图像帧作为第一图像帧。然后,可以采用基于模板匹配的图像配准算法依次将图像序列中的各第一图像帧与第一参考帧进行配准,生成配准后的图像帧。即每一个第一图像帧对应得到一个配准后的图像帧。

步骤246,将第一参考帧与配准后的图像帧进行组合,得到配准后的图像序列。

最后,将第一参考帧与配准后的图像帧按照每一图像帧的拍摄时间依次排序进行组合,得到配准后的图像序列。

本申请实施例中,在确定出了第一参考帧之后,将从图像序列中除去第一参考帧之外的其他图像帧与第一参考帧进行图像配准,生成配准后的图像帧。并将第一参考帧与配准后的图像帧按照每一图像帧的拍摄时间依次排序进行组合,得到配准后的图像序列。如此,就实现了对图像序列中的各图像帧进行图像配准,便于后续对配准后的图像序列中各图像帧进行图像融合,生成目标图像。

在一个实施例中,将图像序列中的第一图像帧与第一参考帧进行配准,生成配准后的图像帧,包括:

从第一参考帧中选取预设区域;

对于每个第一图像帧,根据预设区域从各第一图像帧中确定目标区域,目标区域与预设区域的相似度大于预设阈值;

计算目标区域与预设区域之间的平移量及旋转量;

基于目标区域与预设区域之间的平移量及旋转量,将第一图像帧与第一参考帧进行配准,生成配准后的图像帧。

可以采用基于模板匹配的图像配准算法依次将图像序列中的各第一图像帧与第一参考帧进行配准,生成配准后的图像帧。具体的,在从图像序列中确定出了第一参考帧之后,从第一参考帧中选取预设区域用于图像配准。其中,可以从第一参考帧中选取任一区域作为预设区域,本申请对此不做限定。当然,可以从第一参考帧中选取像素值变化比较明显的区域作为预设区域,也可以从第一参考帧中选取特殊目标所在区域作为预设区域。这里的特殊目标可以是辨识度比较高的目标,例如人物等。

其中,预设区域可以是从第一参考图像帧中所选取的m×n尺寸大小的模板图像(m、n小于第一参考帧整幅图的尺寸大小)。例如第一参考帧为4096×2160分辨率,预设区域的m×n可以选择为20×10。

那么,就可以依然采用m×n尺寸大小的模板在第一图像帧上平移,第一图像帧上被模板覆盖的区域叫做子图。计算子图与预设区域之间的相似度,选取相似度最大的子图作为第一图像帧上的目标区域。可以通过计算预设区域与子图中对应位置的像素点的差值的绝对值之和,该绝对值之和越小则相似度越大。这里,在选取相似度最大的子图时,可以选取相似度大于预设阈值的直接作为目标区域,而不用遍历完整个第一图像帧,减小计算量。例如,预设阈值可以是相似度为99%,当然,还可以设置为其他数值,本申请对此不做限定。

对于各第一图像帧均计算出对应的目标区域之后,计算目标区域与第一参考帧上预设区域之间的平移量及旋转量。当然,还可以计算目标区域与第一参考帧上预设区域之间的缩放量。基于目标区域与预设区域之间的平移量、旋转量及缩放量,将该第一图像帧与第一参考帧进行配准,生成配准后的图像帧。如此,对各第一图像帧进行上述处理,就可以得出各第一图像帧与第一参考帧配准后的图像帧。

本申请实施例中,通过从第一参考帧中选取预设区域,再对于每个第一图像帧,根据预设区域从各第一图像帧中确定相似度大于预设阈值的区域作为目标区域。最后,基于目标区域与预设区域之间的平移量及旋转量,将第一图像帧与第一参考帧进行配准,生成配准后的图像帧。采用基于模板匹配的图像配准算法依次将图像序列中的各第一图像帧与第一参考帧进行配准,生成配准后的图像帧,配准的准确性较高。

在一个实施例中,如图5所示,步骤260,将配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像,包括:

步骤262,计算配准后的图像序列的运动区域掩膜。

其中,运动区域掩膜(mask)是用于识别图像帧中运动区域的图像滤镜模板,可以遮挡图像帧的其他部分,筛选出图像帧中的运动区域。具体的,可以采用光流法计算配准后的图像序列的运动区域掩膜,当然,还可以采用其他方法来计算运动区域掩膜,例如,采用帧间差分法计算配准后的图像序列的运动区域掩膜,本申请对此不做限定。

步骤264,从配准后的图像序列中确定第二参考帧,并根据运动区域掩膜从配准后的图像序列中的第二图像帧中分别获取运动区域内的像素点的像素值;第二图像帧为配准后的图像序列中除去第二参考帧之外的其他图像帧。

从配准后的图像序列中选取任一图像帧作为第二参考帧,其中,第二参考帧可以与第一参考帧相同,也可以与第一参考帧不同,本申请对此不做限定。然后,获取配准后的图像序列中除去第二参考帧之外的其他图像帧作为第二图像帧。再根据运动区域掩膜从各第二图像帧中分别获取筛选出图像帧中的运动区域,并进一步获取运动区域内的像素点的像素值。

步骤266,将第二图像帧的运动区域内的像素点的像素值进行融合,生成融合后的运动区域。

在从各第二图像帧中分别获取筛选出图像帧中的运动区域,并进一步获取运动区域内的像素点的像素值之后,将多个运动区域内对应位置的像素点的像素值进行融合,最终得到该位置融合后的像素值。这些不同位置处的像素值就构成了融合后的运动区域。

步骤268,将融合后的运动区域与第二参考帧进行图像融合,生成目标图像。

最后,将融合后的运动区域与第二参考帧进行图像融合,即将融合后的运动区域与第二参考帧的运动区域进行融合得到融合结果,再将融合结果与第二参考帧的静止区域进行拼接,就生成了目标图像。其中,第二参考帧包括静止区域和运动区域。

本申请实施例中,通过运动区域掩膜就可以从配准后的图像序列中的第二图像帧中分别获取运动区域内的像素点的像素值。再将多个运动区域内对应位置的像素点的像素值进行融合,最终得到该位置处融合后的像素值。这些不同位置处的像素值就构成了融合后的运动区域。最后,将融合后的运动区域与第二参考帧进行图像融合,就生成了目标图像。因为将图像序列中不同图像帧中的运动区域内对应位置的像素点的像素值进行了融合,得到该位置处融合后的像素值。所以,通过多帧融合的方式就可以生成类似于专业相机所拍摄出的长曝光目标图像。对于存在流水的拍摄场景,可以通过本申请实施例中的图像处理方法,使得图像中呈现出流水如丝绸般丝滑美观的特殊效果,展现出流水的动态过程。

在一个实施例中,计算配准后的图像序列的运动区域掩膜,包括:

计算第二参考帧与任一第二图像帧之间的光流场,基于光流场确定任一第二图像帧中的运动区域掩膜作为配准后的图像序列的运动区域掩膜。

具体的,在计算配准后的图像序列的运动区域掩膜时,可以从图像序列中任意挑选出两帧图像来计算这两帧图像之间的运动区域掩膜,作为整个配准后的图像序列的运动区域掩膜。例如,从配准后的图像序列中确定第二参考帧,图像序列中除去第二参考帧之外的其他图像帧作为第二图像帧。然后从第二图像帧中筛选出任一第二图像帧,然后计算第二参考帧与任一第二图像帧之间的光流场。其中,光流场是指图像中所有像素点所构成的一种二维(2d)瞬时速度场。

在计算第二参考帧与任一第二图像帧之间的光流场时,可以采用稀疏光流算法计算光流场。稀疏光流法(例如lk光流法,也即lucas-kanade光流法),是相对于稠密光流法(例如gunnarfarneback光流法)而言的,对于稀疏光流法来说,计算时需要在对运动目标进行检测前指定若干个特征点(例如角点)。因为同一个像素点随着时间的变化,其亮度值(像素灰度值)是恒定不变的,即同一特征点在不同的图像帧上的像素值是不变的。

所以,就可以基于同一特征点在不同图像帧上的位置变化,计算该特征点在x和y方向上的瞬时速度。计算得到该特征点在x方向的瞬时速度为x,该特征点在y方向上的瞬时速度为y。

进一步,基于光流场确定任一第二图像帧中的运动区域掩膜作为配准后的图像序列的运动区域掩膜。具体为,对瞬时速度取绝对值得到该特征点在x方向的瞬时速度的幅值为fx=|x|,该特征点在y方向的瞬时速度的幅值为fy=|y|。再进一步计算该特征点在x方向和y方向的瞬时速度的幅值为f=(fx2+fy2)1/2。获取预设幅值阈值,该预设幅值阈值为经过大量实验计算所得出的运动区域中像素点在x方向和y方向的瞬时速度的幅值。判断特征点在x方向和y方向的瞬时速度的幅值,是否大于预设幅值阈值。若是,则将这些特征点所构成的区域作为运动区域掩膜。

本申请实施例中,因为光流场是指图像中所有像素点所构成的一种二维(2d)瞬时速度场,所以计算第二参考帧与任一第二图像帧之间的光流场,基于光流场确定任一第二图像帧中的运动区域掩膜作为配准后的图像序列的运动区域掩膜。采用稀疏光流法通过特征点的瞬时速度所计算出的运动区域掩膜的准确性较高,且计算量较小。

在一个实施例中,计算配准后的图像序列的运动区域掩膜,还包括:

计算第二参考帧与相邻图像帧之间的光流场,基于光流场确定相邻图像帧的运动区域掩膜;

将相邻图像帧作为第二参考帧;

循环执行计算第二参考帧与相邻图像帧之间的光流场,基于光流场确定相邻图像帧的运动区域掩膜,直到遍历完配准后的图像序列,得到配准后的图像序列中各相邻图像帧的运动区域掩膜,将各相邻图像帧的运动区域掩膜作为配准后的图像序列的运动区域掩膜。

如图6所示,计算配准后的图像序列的运动区域掩膜,包括:

步骤620,获取第二参考帧;

步骤640,获取第二参考帧的相邻图像帧;

步骤660,计算第二参考帧与相邻图像帧之间的光流场,基于光流场确定相邻图像帧的运动区域掩膜;

步骤680,将该相邻图像帧作为第二参考帧,重复执行上述步骤640-步骤660,直到遍历完配准后的图像序列,将各相邻图像帧的运动区域掩膜作为配准后的图像序列的运动区域掩膜。

具体的,可以从配准后的图像序列中获取第一帧图像作为第二参考帧,然后获取与该第一帧图像相邻的第二帧图像作为相邻图像帧。计算第二参考帧与第二图像帧之间的光流场,基于光流场确定相邻图像帧的运动区域掩膜。即得出了图像序列中第二帧图像的运动区域掩膜。

然后,将相邻图像帧作为第二参考帧,即将第二帧图像作为第二参考帧。再获取第三帧图像作为第二参考帧的相邻图像帧,计算第二参考帧与第三图像帧之间的光流场,基于光流场确定相邻图像帧的运动区域掩膜。即得出了图像序列中第三帧图像的运动区域掩膜。如此类推,直到遍历完配准后的图像序列,就可以得到配准后的图像序列中除去第一图像帧之外的各图像帧的运动区域掩膜。将各图像帧的运动区域掩膜作为配准后的图像序列的运动区域掩膜。

本申请实施例中,通过对图像序列中每两两相邻的图像帧,计算出两两相邻的图像帧的光流场。并基于光流场确定各相邻图像帧的运动区域掩膜。即可以一一得到图像序列中除了第一帧图像之外的其他图像帧的运动区域掩膜。如此,通过各自的运动区域掩膜去得到图像帧的运动区域,显然,所得到的每一帧图像的运动区域的准确性就更高。进而,提高后续对各图像帧的运动区域进行图像融合,生成目标图像的准确性。

在一个实施例中,将第二图像帧的运动区域内的像素点的像素值进行融合,生成融合后的运动区域,包括:

计算第二图像帧的运动区域内的像素点的像素值的平均值,将像素值的平均值作为融合后的运动区域的像素值,生成融合后的运动区域。

具体的,在经过上述计算得到运动区域掩膜,并基于运动区域掩膜从图像序列中各第二图像帧提取出了的运动区域之后,从多个运动区域中获取对应位置的像素点的像素值。对每一组对应位置处的像素点的像素值计算平均值,如此,基于每一位置处的像素值的平均值,构成融合后的运动区域。

本申请实施例中,将第二图像帧的运动区域内的像素点的像素值进行融合,生成融合后的运动区域。因为多个第二图像帧中包含了一个时间段内运动区域的变化过程,因此,将第二图像帧的运动区域内的像素点的像素值进行融合,所生成的融合后的运动区域,就可以生成类似于专业相机所拍摄出的长曝光目标图像。从而,最终实现了目标图像能够呈现出特殊的效果。

在一个实施例中,提供了一种图像处理方法,还包括:

对配准后的图像序列的运动区域掩膜进行形态学处理,生成运动区域目标掩膜。

具体的,形态学处理包括对图像进行腐蚀和膨胀操作,一般形态学处理是对图像中的前景部分进行处理。其中,形态学操作其实就是改变物体的形状,简单理解,比如腐蚀就是使前景部分”变瘦”,膨胀就是使前景部分”变胖”。

本申请实施例中,对配准后的图像序列的运动区域掩膜进行形态学处理,生成运动区域目标掩膜。使得运动区域目标掩膜更加接近运动区域的形状,使得基于运动区域目标掩膜所提取出的运动区域更加准确。

在一个实施例中,计算第二参考帧与任一第二图像帧之间的光流场,包括:

当拍摄场景的亮度小于预设阈值时,对第二参考帧与第二图像帧进行拉亮处理;

计算拉亮处理后的第二参考帧与拉亮处理后的第二图像帧之间的光流场。

具体的,当计算第二参考帧与任一第二图像帧之间的光流场时,若拍摄场景的亮度较小,会影响光流场的计算。因此,当拍摄场景的亮度小于预设阈值时,对第二参考帧与第二图像帧的光流场进行拉亮处理。其中,可以采用gamma曲线处理来对图像帧中的每个像素点进行拉亮处理,计算拉亮处理后的第二参考帧与拉亮处理后的第二图像帧之间的光流场。而在后续进行图像融合的时候,依然采用未进行拉亮处理的图像帧进行图像融合。

在采用gamma曲线处理来对图像帧中的每个像素点进行拉亮处理时,采用以下公式进行拉亮处理:

pixel_out=(pixel_in)gamma

其中,pixel_in为输入像素值,pixel_out为经过gamma曲线处理后所得到的输出像素值。此处gamma的取值范围在0-1之间,gamma的具体值可根据多次实验而定,本申请对此不做限定。

本申请实施例中,当拍摄场景的亮度小于预设阈值时,对第二参考帧与第二图像帧进行拉亮处理。计算拉亮处理后的第二参考帧与拉亮处理后的第二图像帧之间的光流场。因为经过拉亮处理后的图像帧的细节更加清晰,提高计算光流场的准确性。

在一个具体的实施例中,如图7所示,提供了一种图像处理方法,包括:

步骤702,获取连续拍摄所得的图像序列,图像序列中的各图像帧均包括运动区域;

步骤704,从图像序列中确定第一参考帧;

步骤706,将图像序列中的第一图像帧与第一参考帧进行配准,生成配准后的图像帧;第一图像帧为图像序列中除去第一参考帧之外的其他图像帧;

步骤708,将第一参考帧与配准后的图像帧进行组合,得到配准后的图像序列;

步骤710,从配准后的图像序列中确定第二参考帧;

步骤712,计算第二参考帧与任一第二图像帧之间的光流场,基于光流场确定任一第二图像帧中的运动区域掩膜作为配准后的图像序列的运动区域掩膜;

步骤714,根据运动区域掩膜从配准后的图像序列中的第二图像帧中分别获取运动区域内的像素点的像素值;第二图像帧为配准后的图像序列中除去第二参考帧之外的其他图像帧;

步骤716,将第二图像帧的运动区域内的像素点的像素值进行图像融合,生成融合后的运动区域;

步骤718,将融合后的运动区域与第二参考帧进行图像融合,生成目标图像。

本申请实施例中,获取连续拍摄所得的图像序列,图像序列中的各图像帧均包括运动区域,对图像序列中的各图像帧进行图像配准,生成配准后的图像序列。将配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像。首先,通过图像配准可以避免不同图像帧上的内容错位而导致最终进行图像融合所生成的目标图像的模糊问题。其次,因为是对连续拍摄所得的图像序列进行配准,生成配准后的图像序列,所以将配准后的图像序列中各图像帧的运动区域进行图像融合,就可以生成类似于专业相机所拍摄出的长曝光目标图像。从而,最终实现了目标图像能够呈现出特殊的效果。

在一个实施例中,如图8所示,提供了一种图像处理装置800,包括:

图像序列拍摄模块820,用于获取连续拍摄所得的图像序列,图像序列中的各图像帧均包括运动区域;

图像配准模块840,用于对图像序列中的各图像帧进行图像配准,生成配准后的图像序列;

图像融合模块860,用于将配准后的图像序列中各图像帧的运动区域进行图像融合,生成目标图像。

在一个实施例中,如图9所示,图像配准模块840,包括:

第一参考帧确定单元842,用于从图像序列中确定第一参考帧;

图像配准单元844,用于将图像序列中的第一图像帧与第一参考帧进行配准,生成配准后的图像帧;第一图像帧为图像序列中除去第一参考帧之外的其他图像帧;

图像组合单元846,用于将第一参考帧与配准后的图像帧进行组合,得到配准后的图像序列。

在一个实施例中,图像配准单元844,还用于从第一参考帧中选取预设区域;对于每个第一图像帧,根据预设区域从各第一图像帧中确定目标区域,目标区域与预设区域的相似度大于预设阈值;计算目标区域与预设区域之间的平移量及旋转量;基于目标区域与预设区域之间的平移量及旋转量,将第一图像帧与第一参考帧进行配准,生成配准后的图像帧。

在一个实施例中,如图10所示,图像融合模块860,包括:

运动区域掩膜计算单元862,用于计算配准后的图像序列的运动区域掩膜;

运动区域提取单元864,用于从配准后的图像序列中确定第二参考帧,并根据运动区域掩膜从配准后的图像序列中的第二图像帧中分别获取运动区域内的像素点的像素值;第二图像帧为配准后的图像序列中除去第二参考帧之外的其他图像帧;

运动区域融合单元866,用于将第二图像帧的运动区域内的像素点的像素值进行融合,生成融合后的运动区域;

目标图像生成单元868,用于将融合后的运动区域与第二参考帧进行图像融合,生成目标图像。

在一个实施例中,运动区域掩膜计算单元862,还用于计算第二参考帧与任一第二图像帧之间的光流场,基于光流场确定任一第二图像帧中的运动区域掩膜作为配准后的图像序列的运动区域掩膜。

在一个实施例中,运动区域掩膜计算单元862,还用于计算第二参考帧与相邻图像帧之间的光流场,基于光流场确定相邻图像帧的运动区域掩膜;将相邻图像帧作为第二参考帧;循环执行计算第二参考帧与相邻图像帧之间的光流场,基于光流场确定相邻图像帧的运动区域掩膜,直到遍历完配准后的图像序列,得到配准后的图像序列中各相邻图像帧的运动区域掩膜,将各相邻图像帧的运动区域掩膜作为配准后的图像序列的运动区域掩膜。

在一个实施例中,运动区域融合单元866,还用于计算第二图像帧的运动区域内的像素点的像素值的平均值,将像素值的平均值作为融合后的运动区域的像素值,生成融合后的运动区域。

在一个实施例中,图像处理模块800还包括:

掩膜处理模块,用于对配准后的图像序列的运动区域掩膜进行形态学处理,生成运动区域目标掩膜。

在一个实施例中,运动区域掩膜计算单元862,还用于当拍摄场景的亮度小于预设阈值时,对第二参考帧与第二图像帧进行拉亮处理;计算拉亮处理后的第二参考帧与拉亮处理后的第二图像帧之间的光流场。

应该理解的是,虽然上述图中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

上述图像处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将图像处理装置按照需要划分为不同的模块,以完成上述图像处理装置的全部或部分功能。

关于图像处理装置的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,还提供了一种电子设备,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以上各个实施例所提供的一种图像处理方法的步骤。

图11为一个实施例中电子设备的内部结构示意图。如图11所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以上各个实施例所提供的一种图像处理方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑、穿戴式设备等任意终端设备。

本申请实施例中提供的图像处理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在电子设备或电子设备上运行。该计算机程序构成的程序模块可存储在电子设备或电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行图像处理方法的步骤。

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图像处理方法。

本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上图像处理实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1