图像处理方法及电子设备与流程

文档序号:31712925发布日期:2022-10-04 20:17阅读:60来源:国知局
图像处理方法及电子设备与流程

1.本技术涉及图像处理技术领域,尤其涉及一种图像处理方法及电子设备。


背景技术:

2.电子设备上设置的相机的成像质量越来越高,尤其是手机相机。由于手机相机使用方便,越来越多的用户更加关注手机相机的成像质量,对于拍摄后的图片或视频,用户可以通过调节图片或视频的参数调整成像质量,或者使用修图软件对图片或视频进行处理得到更满意的成像质量。但是,实时预览的图像或者拍摄视频时直接呈现给用户的图像成像质量也非常重要。


技术实现要素:

3.有鉴于此,提出了一种图像处理方法及电子设备,在图像处理中,通过当前帧图像预测之后帧图像的像素偏移,根据像素偏移矫正图像的对比度,能够减小帧间差异,解决相关技术中进行对比度增强造成视频或者图像闪烁的问题,提高显示效果。
4.第一方面,本技术的实施例提供了一种图像处理方法,所述方法包括:通过摄像头采集第一图像,所述第一图像为所述摄像头连续采集的多帧图像中的一帧图像;根据所述第一图像,预测所述多帧图像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,所述像素偏移是所述第二图像相对于所述第一图像的像素的空间位置变化;根据所述第一图像和所述像素偏移,得到第一增强系数;通过摄像头采集所述第二图像;根据所述第一增强系数矫正所述第二图像的对比度;显示矫正后的第二图像。
5.本技术提供的图像处理方法,电子设备在通过摄像头连续采集图像的过程中,预测之后的第二图像相对于已经采集到的第一图像的像素偏移,根据第二图像相对于第一图像的像素偏移矫正增强系数,根据矫正后得到的增强系数对第二图像的对比度进行矫正。通过根据像素的空间位置变化矫正增强系数,可以使得增强系数和作用帧的图像的空间偏差尽量减小,从而减小帧间差异,因此,采用矫正后的增强系数对第二图像的对比度进行矫正,并以矫正对比度后的第二图像替代第二图像进行显示,可以提高显示效果。
6.根据第一方面的第一种可能的实现方式中,根据所述第一图像,预测所述多帧图像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,包括:获取运动传感器的历史数据,根据运动传感器的历史数据和所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移,其中,所述运动传感器的历史数据为采集所述第二图像之前的数据。
7.根据第一方面的第二种可能的实现方式中,根据所述第一图像,预测所述多帧图像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,包括:根据所述第二图像之前的历史图像的信息和所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移。
8.根据第一方面的第三种可能的实现方式中,根据所述第一图像,预测所述多帧图
像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,包括:根据采集所述第二图像的时刻之前的运动传感器的历史数据和历史图像的信息、以及所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移。
9.根据第一方面的第一种可能的实现方式,在第四种可能的实现方式中,获取运动传感器的历史数据,根据所述运动传感器的历史数据和所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移,包括:获取运动传感器的历史数据,根据所述运动传感器的历史数据,确定运动场景;根据所述运动场景对应的历史运动信息和所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移;其中,所述运动场景包括第一场景和第二场景,第一场景对应的历史运动信息为运动传感器的历史数据,第二场景对应的历史运动信息为历史图像的信息。
10.通过预先判断运动场景,并根据运动场景选择合适的历史运动信息预测未来几帧图像的位姿,可以使得预测的结果更准确,从而使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
11.根据第一方面或者第一方面的第一种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,根据所述第一图像,预测所述多帧图像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,包括,预测相机获取所述第二图像时刻的位姿相对于获取所述第一图像时刻的位姿的位姿差异;根据所述位姿差异,得到所述第二图像相对于所述第一图像的像素偏移。
12.根据第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:若所述第二图像之前的历史位姿预测精度不满足精度条件,则根据所述位姿差异调整之后预测图像的位姿的过程,其中,所述历史位姿预测精度是根据所述第二图像之前预测的位姿差异与对应的实际的位姿差异得到的,所述精度条件为历史位姿预测精度需要满足的精度范围。通过预测的结果反馈调节预测的过程,可以进一步提高预测的准确度,从而使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
13.根据第一方面的第七种可能的实现方式中,根据所述第一图像和所述像素偏移,得到第一增强系数,包括:根据所述第一图像计算第二增强系数;根据所述像素偏移矫正所述第二增强系数,得到所述第一增强系数。根据以上过程可知,本技术实施例提供的图像处理方法,通过根据像素的空间位置变化调整增强系数,可以使得增强系数和第二图像的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
14.根据第一方面的第八种可能的实现方式中,根据所述第一图像和所述像素偏移,得到第一增强系数,包括:根据所述像素偏移矫正所述第一图像,得到第三图像;根据所述第三图像计算第一增强系数。本技术实施例提供的图像处理方法,通过根据像素的空间位置变化调整第一图像,并根据调整后的第一图像计算增强系数,可以使得增强系数和第二图像的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
15.第二方面,本技术的实施例提供了一种电子设备,所述电子设备包括:摄像头、处理器和显示器,其中,所述摄像头用于采集第一图像并发送给处理器;所述第一图像为所述摄像头连续采集的多帧图像中的一帧图像;所述处理器用于根据所述第一图像,预测所述多帧图像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,所述像素偏移是所述第二图像相对于所述第一图像的像素的空间位置变化;所述处理器用于根据所述
第一图像和所述像素偏移,得到第一增强系数;所述摄像头用于采集所述第二图像并发送给所述处理器;所述处理器用于根据所述第一增强系数矫正所述第二图像的对比度;所述显示器用于显示矫正后的第二图像。
16.根据本技术实施例提供的电子设备,在通过摄像头连续采集图像的过程中,预测之后的第二图像相对于已经采集到的第一图像的像素偏移,并根据像素偏移矫正增强系数,根据矫正后得到的增强系数对第二图像的图像对比度进行矫正。本技术实施例的电子设备通过根据像素的空间位置变化矫正增强系数,可以使得增强系数和第二图像的空间偏差尽量减小,从而减小帧间差异,采用矫正后的增强系数对第二图像的对比度进行矫正,并以矫正对比度后的第二图像替代第二图像进行显示,可以提高显示效果。
17.根据第二方面的第一种可能的实现方式中,所述电子设备还包括运动传感器,所述处理器用于获取所述运动传感器的历史数据,并根据所述历史数据和所述第一图像预测所述第二图像相对于所述第一图像的像素偏移,其中,所述运动传感器的历史数据为采集所述第二图像之前的数据。
18.根据第二方面的第二种可能的实现方式中,所述处理器还用于根据所述第二图像之前的历史图像的信息和所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移。
19.根据第二方面第三种可能的实现方式中,所述电子设备还包括运动传感器,所述处理器还用于根据采集所述第二图像的时刻之前的运动传感器的历史数据和历史图像的信息、以及所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移。
20.根据第二方面的第四种可能的实现方式中,所述电子设备还包括运动传感器,所述处理器还用于获取采集所述第二图像之前的所述运动传感器的历史数据,并根据所述历史数据确定运动场景,根据所述运动场景对应的历史运动信息和所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移;其中,所述运动场景包括第一场景和第二场景,所述第一场景对应的历史运动信息为运动传感器的历史数据,所述第二场景对应的历史运动信息为历史图像的信息。
21.通过根据运动场景选择合适的历史运动信息预测未来几帧图像的位姿,可以使得预测的结果更准确,从而使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
22.根据第二方面或者第二方面的第一种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,根据所述第一图像,预测所述多帧图像中的所述第二图像相对于所述第一图像的像素偏移,包括:预测相机获取所述第二图像时刻的位姿相对于获取所述第一图像时刻的位姿的位姿差异;根据所述位姿差异,得到所述第二图像相对于所述第一图像的像素偏移。
23.根据第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述处理器还用于判断所述第二图像之前的历史位姿预测精度不满足精度条件时,根据所述位姿差异调整之后预测图像的位姿差异的过程,其中,所述历史位姿预测精度是根据所述第二图像之前预测的位姿差异与对应的实际的位姿差异得到的,所述精度条件为历史位姿预测精度需要满足的精度范围。根据以上过程可知,本技术实施例提供的图像处理装置,通过预测的结果反馈调节预测的过程,可以进一步提高预测的准确度,从而使得增强系数和作用帧
的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
24.根据第二方面的第七种可能的实现方式中,所述处理器用于根据所述第一图像计算第二增强系数,根据所述像素偏移矫正所述第二增强系数,得到所述第一增强系数。根据以上过程可知,本技术实施例提供的图像处理装置,通过根据像素的空间位置变化调整增强系数,可以使得增强系数和第二图像的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
25.根据第二方面的第八种可能的实现方式中,所述处理器用于根据所述像素偏移矫正所述第一图像,得到第三图像,根据所述第三图像计算第一增强系数。本技术实施例提供的图像处理装置,通过根据像素的空间位置变化调整第一图像,并根据调整后的第一图像计算增强系数,可以使得增强系数和第二图像的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
26.第三方面,本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的图像处理方法。
27.第四方面,本技术的实施例提供了一种图像处理装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的图像处理方法。
28.本技术的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
29.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本技术的示例性实施例、特征和方面,并且用于解释本技术的原理。
30.图1a示出根据本技术一示例的图像处理方法的应用场景的示意图。
31.图1b示出根据本技术一实施例的进行图像增强处理的帧间时序图。
32.图2a示出根据本技术一实施例的电子设备的结构示意图。
33.图2b是本技术实施例的电子设备的软件结构框图。
34.图3示出根据本技术一实施例的图像处理方法的帧间时序图。
35.图4示出根据本技术一实施例的计算增强系数的示例。
36.图5a是为了直观的表示增强系数和图像中像素的位置关系的示意图。
37.图5b示出了三线性插值的示意图。
38.图6a示出根据本技术一实施例的相机的位姿以及位姿差异的示意图
39.图6b示出根据本技术一实施例的相机运动以及位姿预测的示意图。
40.图7示出根据本技术一实施例的第二图像相对于第一图像的像素偏移的示意图。
41.图8出根据本技术一实施例的图像处理方法的帧间时序图。
42.图9a示出根据本技术一实施例的图像处理方法的帧间时序图。
43.图9b示出根据本技术一实施例的目标运动轨迹预测的示意图。
44.图9c示出根据本技术一实施例的第二图像相对于第一图像的像素偏移的示意图。
45.图10示出根据本技术一实施例的图像处理方法的帧间时序图。
46.图11a示出根据本技术一实施例的图像处理方法的帧间时序图。
47.图11b示出根据本技术一实施例的确定历史位姿预测精度的示意图。
48.图12示出根据本技术一实施例的图像处理方法的帧间时序图。
49.图13示出根据本技术一实施例的图像处理方法的流程图。
50.图14示出根据本技术一是实施例的图像处理装置的框图。
51.图15示出根据本技术一实施例的应用场景的示意图。
52.图16示出根据本技术一实施例的应用场景的示意图。
53.图17示出根据本技术一实施例的应用场景的示意图。
具体实施方式
54.以下将参考附图详细说明本技术的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
55.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
56.另外,为了更好的说明本技术,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本技术同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本技术的主旨。
57.图1a示出根据本技术一实施例的图像处理方法的应用场景的示意图。图1a所示可以为电子设备中的相机的透镜、图像传感器以及图像处理器,本技术实施例的电子设备可以为相机、智能手机、上网本、平板电脑、笔记本电脑、可穿戴电子设备(如智能手环、智能手表等)、tv、虚拟现实设备、音响、电子墨水,等等。本技术实施例的电子设备上集成了透镜、图像传感器以及图像处理器、显示器等,用于采集图像并对图像进行处理后在显示器进行显示。
58.如图1a所示,透镜将光信号投射到图像传感器后,图像传感器对光信号进行光电转换后得到电信号(图像信号),并将电信号发送给图像处理器处理。其中,图像传感器可以是互补金属氧化物半导体(complementary metal oxide semiconductor,coms)传感器或者电荷耦合元件(charge-coupled device,ccd)传感器,本技术对图像传感器的具体类型不作限定。图像处理器可以是被管道化的图像处理专用引擎:图像信号处理器(image signal processor,isp),可以高速处理图像信号。
59.为了保证图像的对比度,图像信号处理器可以采用对比度增强算法对接收到的图像信号进行处理。图像对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,即指一幅图像灰度反差的大小。差异范围越大代表对比度越大,差异范围越小代表对比度越小。一张图像的对比度可以理解为图像中细节可被肉眼分辨的程度,对比度可以通过图像的直方图反映出来,对比度小的图像颜色直方图分布往往分布在一个比较小的像素值范围内,而较为清晰(对比度大)的图像的颜色直方图在整个像素灰度值范围内分布的比较均匀。因此,图像对比度越高,在由灰度/像素个数构成的直角坐标系中横向跨度越大,纵向长度越趋于一致。在横坐标上跨度越长也就说明图像中使用的灰度值越多,也就能够更加清晰的反映图像中每一个细节与它周围的细节直接的差别。图像的全局对比度
即上述图像对比度,也就是图像灰度反差的大小。图像的局部对比度是指图像中部分区域的图像的对比度。
60.对比度增强算法可以根据图像的亮度、颜色等统计信息对图像做针对性的增强,但是统计信息一般要滞后于正在处理的图像,尤其是用相机进行预览或者正在拍摄视频的场景中。
61.在一种可能的实现方式中,根据图像的统计信息对图像做对比度增强可以包括:根据图像的统计信息计算矫正图像的对比度的增强系数,根据增强系数矫正图像的对比度,在本技术的实施例中,增强系数表示对图像中的像素的像素值的调节系数。因此,根据统计信息得到的增强系数也要滞后于正在处理的图像。
62.示例性的,在拍摄视频的过程中或者预览的图像中,不同的帧之间存在像素偏移,像素偏移表示不同图像中部分像素或者全部像素的空间位置变化,比如说,在一种场景中,在进行图像预览或视频拍摄的过程中,如果相机保持不动,但是取景的范围内有运动的目标(比如行进中的车辆、行人等),采集时间相邻或者相近的图像之间局部的区域是不同的,这种不同可能表现为部分像素在整个图像中的空间位置发生了移动,其他信息(比如颜色、亮度等)没有发生变化,相邻的图像之间存在像素偏移。在另一种场景中,如果取景范围内的目标不动,但是相机在持续移动,采集时间相邻或者相近的图像之间像素相对于取景的范围的边界的位置是发生变化的,也就是图像中大部分像素在整个图像中的空间位置发生了移动,存在像素偏移。
63.由于增强系数是与图像中不同位置的像素分别对应的,也就是说,根据图像计算得到的增强系数是与图像中的像素存在对应关系的。如果像素的位置发生了偏移,增强系数和处理的图像是存在空间上的偏差的,采用增强系数对图像进行处理会引入帧间的不稳定,造成视频或者预览图像的闪烁,闪烁主要表现为图像上部分区域明暗、对比度的变化。
64.图1b示出根据本技术一实施例的进行图像增强处理的帧间时序图。如图1b所示,根据第i-n帧图像计算得到图像中的像素对应的增强系数,处理器根据计算得到的增强系数对图像进行处理时,处理的是第i帧图像,第i帧图像相对于第i-n帧图像可能存在像素偏移,采用增强系数对图像进行处理会引入帧间的不稳定,造成视频或者预览图像的闪烁。
65.另外,电子设备的处理器采用多任务并行处理的方式,各个子线程抢占中央处理器(central processing unit,cpu)的资源,因此,cpu的性能会波动。isp的软件调度流程也存在性能波动,这些性能波动都会导致增强系数的帧延时的波动,增强系数的帧延时可以是指计算得到增强系数的统计信息对应的帧和采用增强系数进行对比度增强的帧之间的时间差。增强系数的帧延时的波动会导致视频或预览图像的闪烁无法预知。
66.为了解决上述技术问题,本技术提供了一种图像处理方法,可以应用于电子设备中。以电子设备是手机为例,图2a示出根据本技术一实施例的电子设备的结构示意图。图2a示出了手机200的结构示意图,本技术的电子设备不限于手机,如上文所述,还可以是其他类型的电子设备。
67.如图2a所示,手机200可以包括处理器210,外部存储器接口220,内部存储器221,usb接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块251,无线通信模块252,音频模块270,扬声器270a,受话器270b,麦克风270c,耳机接口270d,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及sim卡接
口295等。其中,传感器模块280可以包括陀螺仪传感器280a,加速度传感器280b,接近光传感器280g、指纹传感器280h,触摸传感器280k(当然,手机200还可以包括其它传感器,比如温度传感器,压力传感器、距离传感器、磁传感器、环境光传感器、气压传感器、骨传导传感器等,图中未示出)。
68.可以理解的是,本技术实施例示意的结构并不构成对手机200的具体限定。在本技术另一些实施例中,手机200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
69.处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
70.处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
71.处理器210可以运行本技术实施例提供的图像处理方法,以使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。处理器210可以包括不同的器件,比如集成cpu和gpu时,cpu和gpu可以配合执行本技术实施例提供的图像处理方法,比如图像处理方法中部分算法由cpu执行,另一部分算法由gpu执行,以得到较快的处理效率。
72.显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。
73.在一些实施例中,手机200可以包括1个或n个显示屏294,n为大于1的正整数。显示屏294可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical user interface,gui)。例如,显示器294可以显示照片、视频、网页、或者文件等。再例如,显示器294可以显示图形用户界面。其中,图形用户界面上包括状态栏、可隐藏的导航栏、时间和天气小组件(widget)、以及应用的图标,例如浏览器图标等。状态栏中包括运营商名称(例如中国移动)、移动网络(例如4g)、时间和剩余电量。导航栏中包括后退(back)键图标、主屏幕(home)键图标和前进键图标。此外,可以理解的是,在一些实施例中,状态栏中还可以包括蓝牙图标、wi-fi图标、外接设备图标等。还可以理解的是,在另一些实施例中,图形用户界面中还可以包括dock栏,dock栏中可以包括常用的应用图标等。当处理
器210检测到用户的手指(或触控笔等)针对某一应用图标的触摸事件后,响应于该触摸事件,打开与该应用图标对应的应用的用户界面,并在显示器294上显示该应用的用户界面。
74.在本技术实施例中,显示屏294可以是一个一体的柔性显示屏,也可以采用两个刚性屏以及位于两个刚性屏之间的一个柔性屏组成的拼接显示屏。在本技术实施例中,显示屏294可以显示矫正对比度后的图像。
75.摄像头293(前置摄像头或者后置摄像头,或者一个摄像头既可作为前置摄像头,也可作为后置摄像头,前置摄像头和后置摄像头都可以包括多个摄像头)用于捕获静态图像或视频。通常,摄像头293可以包括感光元件比如镜头组和图像传感器,其中,镜头组可以包括本技术图1a所示的场景中的透镜,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像(电信号)。经处理器处理后的图像可以显示在显示屏294上,当处理器210运行本技术实施例提供的图像处理方法后,电子设备可以在显示屏294上显示处理后的图像。
76.内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行手机200的各种功能应用以及数据处理。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序(比如相机应用,微信应用等)的代码等。存储数据区可存储手机200使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。
77.内部存储器221还可以存储本技术实施例提供的图像处理方法对应的一个或多个计算机程序1310。该一个或多个计算机程序1304被存储在上述存储器221中并被配置为被该一个或多个处理器210执行,该一个或多个计算机程序1310包括指令,上述指令可以用于执行本技术实施例提供的图像处理方法。
78.此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
79.当然,本技术实施例提供的图像处理方法的代码还可以存储在外部存储器中。这种情况下,处理器210可以通过外部存储器接口220运行存储在外部存储器中的图像处理方法的代码。
80.下面介绍传感器模块280的功能。
81.陀螺仪传感器280a,可以用于确定手机200的运动姿态。在一些实施例中,可以通过陀螺仪传感器280a确定手机200围绕三个轴(即,x,y和z轴)的角速度。即陀螺仪传感器280a可以用于检测手机200当前的运动状态,比如抖动还是静止。
82.当本技术实施例中的显示屏为可折叠屏时,陀螺仪传感器280a可用于检测作用于显示屏294上的折叠或者展开操作。陀螺仪传感器280a可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
83.加速度传感器280b可检测手机200在各个方向上(一般为三轴)加速度的大小。当本技术实施例中的显示屏为可折叠屏时,加速度传感器280b可用于检测作用于显示屏294上的折叠或者展开操作。加速度传感器280b可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
84.在一些实施例中,本技术的图像处理方法中可以通过陀螺仪传感器和加速度传感器等运动传感器估算相机运动路径,从而预测相机的位姿。
85.陀螺仪传感器280a(或加速度传感器280b)可以将检测到的运动状态信息(比如角速度)发送给处理器210。处理器210基于运动状态信息确定当前是手持状态还是脚架状态(比如,角速度不为0时,说明手机200处于手持状态)。处理器210还可以根据运动状态信息判断运动场景、预测未来相机的位姿,等等。接近光传感器280g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机通过发光二极管向外发射红外光。手机使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机附近有物体。当检测到不充分的反射光时,手机可以确定手机附近没有物体。当本技术实施例中的显示屏为可折叠屏时,接近光传感器280g可以设置在可折叠的显示屏294的第一屏上,接近光传感器280g可根据红外信号的光程差来检测第一屏与第二屏的折叠角度或者展开角度的大小。
86.指纹传感器280h用于采集指纹。手机200可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
87.触摸传感器280k,也称“触控面板”。触摸传感器280k可以设置于显示屏294,由触摸传感器280k与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏294提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器280k也可以设置于手机200的表面,与显示屏294所处的位置不同。
88.示例性的,手机200的显示屏294显示主界面,主界面中包括多个应用(比如相机应用、微信应用等)的图标。用户通过触摸传感器280k点击主界面中相机应用的图标,触发处理器210启动相机应用,打开摄像头293。显示屏294显示相机应用的界面,例如取景界面。
89.手机200的无线通信功能可以通过天线1,天线2,移动通信模块251,无线通信模块252,调制解调处理器以及基带处理器等实现。
90.天线1和天线2用于发射和接收电磁波信号。手机200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
91.移动通信模块251可以提供应用在手机200上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块251可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块251可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块251还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块251的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块251的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
92.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270a,受话器270b等)输出声音信号,或通过显示屏294显示图像或视频。在一些实施例中,调制解调处理器可以是
独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块251或其他功能模块设置在同一个器件中。
93.无线通信模块252可以提供应用在手机200上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块252可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块252经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块252还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。本技术实施例中,无线通信模块252,用于在处理器210的控制下与其他电子设备之间传输数据。
94.另外,手机200可以通过音频模块270,扬声器270a,受话器270b,麦克风270c,耳机接口270d,以及应用处理器等实现音频功能。例如音乐播放,录音等。手机200可以接收按键290输入,产生与手机200的用户设置以及功能控制有关的键信号输入。手机200可以利用马达291产生振动提示(比如来电振动提示)。手机200中的指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。手机200中的sim卡接口295用于连接sim卡。sim卡可以通过插入sim卡接口295,或从sim卡接口295拔出,实现和手机200的接触和分离。
95.应理解,在实际应用中,手机200可以包括比图2a所示的更多或更少的部件,本技术实施例不作限定。图示手机200仅是一个范例,并且手机200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
96.电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明电子设备的软件结构。
97.图2b是本技术实施例的电子设备的软件结构框图。
98.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
99.应用程序层可以包括一系列应用程序包。
100.如图2b所示,应用程序包可以包括电话、相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
101.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
102.如图2b所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
103.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
104.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
105.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
106.电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
107.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
108.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
109.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
110.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
111.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
112.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
113.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
114.媒体库支持多种常用的音频、视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
115.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
116.2d图形引擎是2d绘图的绘图引擎。
117.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
118.以上是关于本技术的图像处理方法的应用场景中的电子设备的介绍,下面结合图2a和图2b所示的应用场景对本技术的图像处理方法进行说明。
119.本技术实施例的图像处理方法,通过预测图像未来帧相对于当前帧中的像素偏移,并根据预测的像素偏移矫正增强系数,使得增强系数和未来帧中对应的像素点的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
120.在本技术的实施例中,电子设备可以在进行图像预览或者视频拍摄的过程中执行本技术提供的图像处理方法,比如说,以手机为例,用户在拿着手机拍摄图像,拍摄图像前在显示屏对摄像头采集到的图像进行预览,或者用户在拿着手机拍摄视频。在其他示例中,
相机也可以是设置在无人机上的摄像头,无人机边飞行边拍摄;或者,相机也可以是车载的摄像头(行车记录仪),汽车在行进过程中,摄像头拍摄车辆周围的画面,等等。本技术对具体的应用场景不作限定,相机在持续的取景或者拍摄的过程中即可。
121.在进行图像预览或视频拍摄的过程中,如果相机保持不动,但是取景的范围内有运动的目标(比如行进中的车辆、行人等),采集时间相邻或者相近的图像之间局部的区域是不同的,也就是存在局部运动,后采集的图像相对于先采集的图像可能存在部分像素的空间位置变化,也就是存在像素偏移。如果取景范围内的目标不动,但是相机在持续移动,采集时间相邻或者相近的图像之间像素相对于取景的范围的边界的位置是发生变化的,也就是存在全局运动,后采集的图像相对于先采集的图像可能存在像素的空间位置变化,也就是存在像素偏移。如果相机在持续移动,且取景范围内也存在运动的目标,那么采集时间相邻或者相近的图像之间既存在局部运动,也存在全局运动,后采集的图像相对于先采集的图像可能存在像素的空间位置变化,也就是存在像素偏移。
122.具体地,电子设备可以通过摄像头采集第一图像,所述第一图像为所述摄像头连续采集的多帧图像中的一帧图像;根据所述第一图像,电子设备可以预测所述多帧图像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,所述像素偏移是所述第二图像相对于所述第一图像的像素的空间位置变化;电子设备可以根据所述第一图像和所述像素偏移,得到第一增强系数;电子设备可以通过摄像头采集所述第二图像,根据所述第一增强系数矫正所述第二图像的对比度;电子设备可以显示矫正后的第二图像,也就是以所述矫正对比度后的第二图像替代所述第二图像进行显示。
123.在本技术的实施例中,摄像头可以是包括镜头组和图像传感器的设备,如图2a所示的摄像头293,镜头组可以采集带拍摄物体反射的光信号,并将采集的光信号传递给图像传感器,图像传感器根据所述光信号生成待拍摄物体的图像。该图像可以是上述的第一图像或第二图像。
124.在本技术的实施例中,电子设备可以通过运动目标检测、运动估计、相机的位姿监测、位姿估计等方式,预测未来帧相对于之前帧的像素偏移。具体地,电子设备可以预测相机获取所述第二图像时刻的位姿相对于获取所述第一图像时刻的位姿的位姿差异,根据所述位姿差异,得到所述第二图像相对于所述第一图像的像素偏移。在一种可能的实现方式中,电子设备可以预测相机获取第一图像之后的多帧图像时的位姿,以及预测第二图像相对于第一图像的延时帧数;电子设备可以根据预测的相机获取第一图像之后的多帧图像时的位姿和所述延时帧数,确定相机获取所述第二图像时刻的位姿相对于获取所述第一图像时刻的位姿的位姿差异;电子设备可以根据所述位姿差异,得到所述第二图像相对于所述第一图像的像素偏移,比如说,将位姿差异从世界坐标系转换到像平面坐标系可以得到像素偏移。
125.在本技术的实施例中,电子设备预测的相机的位姿或者位姿差异,也就是上述摄像头在采集图像时的位姿或者位姿差异。
126.在一个示例中,所述电子设备可以根据所述第一图像计算第二增强系数,根据所述像素偏移矫正所述第二增强系数,得到所述第一增强系数。在另一个示例中,所述电子设备可以根据所述像素偏移矫正所述第一图像,得到第三图像,根据所述第三图像计算第一增强系数。也就是说,处理器可以先计算增强系数,根据像素偏移矫正增强系数,也可以先
根据像素偏移矫正图像,再根据矫正后的图像计算增强系数,本技术对此不作限定。
127.在一种可能的实现方式中,电子设备根据像素偏移矫正第二增强系数可以是矫正第二增强系数和对应的像素的关系,根据像素偏移矫正第一图像的图像信息,可以是矫正第一图像中像素的位置坐标,使得调整后的位置坐标和预测的相同,这样就可以尽量减小帧间差异,提高增强效果。
128.电子设备计算增强系数的过程可以采用相关技术中的方法,比如说,根据第一图像的图像信息得到统计信息,图像信息可以是图像的亮度、颜色、灰度等信息,例如可以统计第一图像的灰度分布,根据统计信息可以计算第一图像对应的增强系数。具体地,电子设备可以根据统计信息以及第一图像中像素的图像信息计算像素对应的增强系数,电子设备可以计算每一个像素对应的增强系数,或者,为了提高处理的速度,也可以对第一图像进行分区,对每个区域中的像素进行统计得到每个区域的统计信息,根据每个区域的统计信息可以计算区域的交叉点(顶点)的像素对应的增强系数,本技术对计算增强系数的具体过程不作限定。
129.本技术提供的图像处理方法,电子设备在通过摄像头连续采集图像的过程中,预测之后的第二图像相对于已经采集到的第一图像的像素偏移,根据第二图像相对于第一图像的像素偏移矫正增强系数,根据矫正后得到的增强系数对第二图像的图像对比度进行矫正。通过根据像素的空间位置变化矫正增强系数,可以使得增强系数和作用帧的图像的空间偏差尽量减小,从而减小帧间差异,因此,采用矫正后的增强系数对第二图像的对比度进行矫正,并以矫正对比度后的第二图像替代第二图像进行显示,可以提高显示效果。
130.图3示出根据本技术一实施例的图像处理方法的帧间时序图。如图3所示,假设第i-n帧图像表示上述第一图像,第i帧图像表示第二图像。
131.在图3所示的示例中,电子设备通过摄像头采集第一图像,可以根据第一图像(第i-n帧图像)计算第二增强系数,电子设备可以根据第一图像的图像信息计算第二增强系数。
132.图4示出根据本技术一实施例的计算增强系数的示例。如图4所示可以为电子设备通过摄像头采集到的一张图像,电子设备可以将图像上的像素在宽度(w,width)和高度(h,high)方向上划分为多个不同的区域,以图4中图像的左下角为坐标原点o建立三维坐标系(w,h,l),其中,w表示宽度方向的坐标轴,h表示高度方向的坐标轴,l表示亮度方向的坐标轴,在本技术的实施例中,可以将w和h方向的坐标称作位置坐标,l方向的坐标称作亮度坐标。图4中的a、b、c、d和e分别表示图像中的像素点,其中,像素a的坐标为(wa,ha,la),其中,wa表示像素a在w方向的位置,ha表示像素a在h方向的位置,la表示像素a的亮度。
133.在图4所示的图像中,每个区域的顶点的像素可以对应一个或多个增强系数。在本技术的实施例中,一帧图像中的像素可以分为两类,一类像素位于横向分界线和纵向分界线的交叉点(区域的顶点)的位置,在本技术的实施例中,将这类像素称作第一类像素,图像上除了第一类像素以外的像素可以称为第二类像素。电子设备在计算增强系数时,可以根据每个区域的像素的图像信息得到该区域的像素的统计信息,根据该区域的像素的统计信息计算该区域对应的第一类像素的增强系数,第二类像素对应的增强系数可以根据与第二类像素相邻的第一类像素对应的增强系数得到。其中,与第二类像素相邻的第一类像素可以是指第二类像素所在的区域的顶点对应的第一类像素。
134.举例来说,电子设备的显示屏的显示分辨率为1280
×
720,按照图4所示的示例,在w和h方向都划分为四个区域,从左到右方向,w1区域包括第1-320列像素,w2区域包括第321-640列像素,w3区域包括第641-960列像素,w4区域包括第961-1280列像素,从下到上方向,h1区域包括第1-180行像素,h2区域包括第181-360行像素,h3区域包括第361-480行像素,h4区域包括第481-720行像素。位于第1行第1列的像素为第一类像素,第1行第321列的像素为第一类像素,第1行第641列的像素为第一类像素
……
,第181行第1列的像素为第一类像素,第361行第一列的像素为第一类像素
……
,其他像素为第二类像素。
135.在一种可能的实现方式中,像素的像素值可以通过(r,g,b,l)表示,其中,r(red)、g(green)、b(blue)、l(light)可以分别表示像素的红、绿、蓝和亮度的值,增强系数可以为3
×
4的二维矩阵。需要说明的是,以上仅仅是增强系数的一种表示方式,增强系数也可以是通过其他形式表示的数据,本技术对此不作限定。
136.图5a是为了直观的表示增强系数和图像中像素的位置关系的示意图,图5a所示的三维模型中,采用与图4同样的坐标系,在宽度(w,width)方向和高度(h,high)方向分别与图4采用同样的划分区域的方式,也就是说图4和图5a在w方向划分区域的方式相同,在h方向划分区域的方式相同,在l方向划分区域的方式也相同,图5a中a、b、c和d分别与图4中的像素a、b、c和d对应,沿着l方向,分别代表不同亮度对应的增强系数,在图5a中每个区域的交叉点对应一个增强系数(矩阵)。
137.图5a在l(亮度,light)方向也划分为多个区域,也就是说,对于图像中一个位置对应的不同的亮度,设置了不同亮度对应的多个增强系数。在本技术的实施例中,可以为图4中位于区域交叉点上的像素点(第一类像素点)设置多个不同亮度对应的增强系数。以上述示例为例,根据像素所在的区域的像素的统计信息为像素确定增强系数,根据w1h1区域的像素的统计信息为位于第1行第1列的像素确定多个不同的增强系数,根据w2h1区域的像素的统计信息为位于第1行第321列的像素确定多个不同的增强系数,根据w3h1区域的像素的统计信息为位于第1行第641列的像素确定多个不同的增强系数
……
,根据w1h2区域的像素的统计信息为位于第181行第1列的像素确定多个不同的增强系数

,也就是,图4所示的附图中,位于每个交叉点的像素点都有对应的多个不同的增强系数,多个不同的增强系数分别与不同的亮度对应。如图4和图5a所示,比如说,对于图4中的像素点a,图5a中的点a对应了5个不同的增强系数(矩阵)。图5a所示的每个交叉点的位置对应一个增强系数(矩阵),也就是图5a所示的三维模型中的每个元素为一个增强系数(矩阵)。
138.对于图4中的像素e,与像素e相邻的交叉点为像素a、像素b、像素c和像素d,电子设备可以根据像素e的位置和亮度确定像素e在图5a中的位置。假设沿着l方向从下到上,像素a对应的增强系数分别为a1、a2、a3、a4、a5,像素b对应的增强系数分别为b1、b2、b3、b4、b5,像素c对应的增强系数分别为c1、c2、c3、c4、c5,像素d对应的增强系数分别为d1、d2、d3、d4、d5。电子设备根据像素e的亮度和位置可以确定像素e在图5a中位于哪个矩体内。电子设备可以根据像素e在图5a中所在位置属于的矩体的八个顶点确定像素e对应的增强系数。
139.在一种可能的实现方式中,电子设备可以通过建立坐标系(如图4以及图5a所示的示例,可以采用像平面坐标系,添加亮度坐标)以及查询表,通过坐标系以及查询表可以建立图中像素到增强系数的映射关系。假设以图4中图像的左下角为坐标原点o建立三维坐标系(w,h,l),像素a的坐标为(wa,ha,la),其中,wa表示像素a在w方向的位置,ha表示像素a在
h方向的位置,la表示像素a的亮度。在本技术的实施例中,电子设备根据第一图像计算得到第二增强系数,或根据第三图像计算得到第一增强系数,第一增强系数和第二增强系数都可以包括像素的坐标和像素对应的增强系数的对应关系,例如,电子设备中可以存储有第一查询表和/或第二查询表,第一查询表中可以记录像素的位置坐标和第二查询表的对应关系,如表1所示。第二查询表可以记录像素的亮度和像素的增强系数的对应关系,如表2所示。
140.在本技术的实施例中,电子设备可以将第二增强系数存储在内存中,在根据像素偏移矫正第二增强系数时,可以从内存中读取第二增强系数进行矫正得到第一增强系数,将第一增强系数存储在内存中。或者电子设备可以将根据第三图像计算得到的第一增强系数存储在内存中。
141.在本技术的实施例中,电子设备在根据第一增强系数矫正第二图像的对比度时,可以从内存读取第一增强系数,并根据第一增强系数矫正第二图像的对比度。
142.需要说明的是,存储第一查询表和第二查询表仅仅是本技术记录像素和像素对应的增强系数的一种示例,本技术不限于此,比如说,还可以通过一个表记录,或者通过其他方式记录。
143.表1
[0144] w1w2
……
wnh1表11表12 表1nh2表21表22 表2n
……ꢀꢀꢀꢀ
hm表m1表m2
……
表mn
[0145]
表2
[0146][0147]
如表1和表2所示,在矫正图像的对比度时,对于第一类像素,可以根据第一类像素在图像中的位置坐标w和h、以及第一查询表确定像素对应的第二查询表,根据第二查询表和第一类像素的亮度坐标可以确定像素对应的增强系数。
[0148]
确定像素对应的增强系数后,可以根据像素的像素值以及增强系数矫正对比度,在一种可能的实现方式中,可以根据以下公式(1)计算矫正后的像素值:
[0149]
[0150]
其中,矩阵可以表示增强系数,r、g、b、l可以分别表示对像素进行对比度矫正之前的像素值,r、g、b可以分别表示对像素进行对比度矫正之后的像素值。
[0151]
举例来说,对于图4所示的像素a,在第i-n帧图像中的位置坐标为(w2,h1),在根据第i-n帧图像计算增强系数得到上述的第一查询表和第二查询表后,如果要矫正图像对比度,理论上,在第i-n帧图像中,像素a为第一类像素,如果按照第i-n帧图像中的位置坐标查询第一查询表可以得到像素a对应的第二查询表应该为表12,根据表12以及像素a的亮度可以确定像素a对应的增强系数。根据像素值和对应的增强系数可以根据公式(1)计算得到增强后的像素值。
[0152]
在本技术的实施例中,第二类像素对应的增强系数可以根据第二类像素的亮度、与第二类像素相邻的第一类像素对应的增强系数计算得到。举例来说,图4中像素落在交叉点以外的位置时,可以根据像素的亮度和位置确定该像素在图5a所示的三维模型中的位置,根据像素在三维模型中位置和该位置所述区域的8个顶点对应的增强系数计算像素对应的增强系数。
[0153]
举例来说,如图4中的像素e,与像素e相邻的交叉点为像素a、像素b、像素c和像素d,电子设备可以根据像素e的位置和亮度确定像素e在图5a中的位置。
[0154]
像素e亮度可以根据像素值(r,g,b)计算得到:el(像素e的亮度)=(0.299*r)+(0.587*g)+(0.114*b)。el也可以是e经过函数或滤波或网络学习得到,通用表达为el=f(
……
ri,gi,bi,
……
),ri,gi,bi为e的邻域内的像素值,像素e的领域内的像素可以是指像素e周围一定范围内的像素,邻域的大小可以根据实际需求确定,比如说调整的精度、计算的速度等,本技术对此不作限定。
[0155]
如上文所述,沿着l方向从下到上,像素a对应的增强系数分别为a1、a2、a3、a4、a5,像素b对应的增强系数分别为b1、b2、b3、b4、b5,像素c对应的增强系数分别为c1、c2、c3、c4、c5,像素d对应的增强系数分别为d1、d2、d3、d4、d5,假设电子设备根据像素e的亮度和位置确定像素e在图5a中的位置位于a1、a2、b1、b2、c1、c2、d1、d2八个点组成的矩体内,电子设备可以根据a1、a2、b1、b2、c1、c2、d1、d2进行三线性插值得到像素e对应的增强系数。
[0156]
图5b示出了三线性插值的示意图,如图5b所示,像素e落在a1、a2、b1、b2、c1、c2、d1、d2八个点组成的矩体内,假设像素e与面a1a2c1c2的距离为tw,像素e与面a2b2d2c2的距离为tl,像素e与面c1c2d1d2的距离为th。
[0157]
图5a中沿l方向每个区域的分界线(分界面)对应的亮度值是固定的,比如说,亮度值的范围为0~255,面a1b1d1c1对应的亮度值为0,面a2b2d2c2对应的亮度值为63.75,面a3b3d3c3对应的亮度值为127.5,面a4b4d4c4对应的亮度值为191.25,面a5b5d5c5对应的亮度值为255。
[0158]
像素e亮度可以根据像素值(r,g,b)计算得到,根据像素e的亮度和位置可以确定像素e在图5a中对应的位置。如图4和图5b所示,像素e与面a1a2c1c2的距离tw可以通过图4中像素e与边ac的距离确定,tw等于像素e与边ac的距离,像素e与面c1c2d1d2的距离th可以通过图中像素e与边cd的距离确定,th等于像素e与边cd的距离。像素e与面a2b2d2c2的距离tl可以根据像素e的亮度和面a2b2d2c2对应的亮度值确定。
[0159]
在确定像素e的位置后,在本技术的实施例中,通过三线性插值计算像素e的增强系数ef的具体方式如下面公式所示:
[0160]
ef=a1*(1-tw)*tl*th+b1*tw*tl*th+c1*(1-tw)*tl*(1-th)+d1*tw*tl*(1-th)+a2*(1-tw)*(1-tl)*th+b2*tw*(1-tl)*th+c2*(1-tw)*(1-tl)*(1-th)+d2*tw*(1-tl)*(1-th)。
[0161]
需要说明的是,以上显示分辨率、区域划分方式仅仅是本技术的一些示例,不以任何方式限制本技术。
[0162]
以上过程介绍了理论上如何确定第一类像素和第二类像素对应的增强系数的过程,以及根据增强系数矫正像素值的方式。而在本技术的实施例中,电子设备要根据预测得到的像素偏移对计算得到的增强系数进行矫正。下面介绍预测像素偏移的过程。
[0163]
在本技术的实施例中,如图2a所示,电子设备还可以包括运动传感器,例如,陀螺仪、加速度传感器等,电子设备可以获取采集所述第二图像之前的所述运动传感器的历史数据,并根据所述历史数据和所述第一图像预测所述第二图像相对于所述第一图像的像素偏移。其中,运动传感器的历史数据可以为摄像头在捕获第二图像之前,运动传感器采集的电子设备的运动数据,比如说陀螺仪采集的角速度、加速度传感器采集的加速度。
[0164]
电子设备根据运动传感器的历史数据可以得到相机的历史运动数据,比如说,将运动传感器的历史数据作为相机的历史运动数据,如图3所示,电子设备可以获得相机的历史运动数据,根据历史运动数据可以得到相机的当前路径,根据相机的当前路径以及历史运动数据可以对采集未来多个帧的图像时相机的位姿进行预测,将相机的位姿变化从世界坐标系转换到像平面坐标系中对应的像素的空间位置的变化,也就是第二图像相对于第一图像的像素偏移。具体的转换过程可以参见相机坐标到图像坐标的相关转换技术。
[0165]
本技术实施例中的位姿可以是指相机的位姿,在世界坐标系中通过mi(r
x
,ry,rz,t
x
,ty,tz)表示相机第i帧的运动,其中,r表示旋转,r
x
,ry,rz分别表示在世界坐标系的x、y、z三个坐标轴方向旋转的角度,t表示平移,t
x
,ty,tz分别表示在x、y、z三个坐标轴方向平移的距离。图6a示出根据本技术一实施例的相机的位姿以及位姿差异的示意图,图6a所示的坐标系中,相机第i帧的运动(第i帧相对于第i-1帧图像的位姿差异)可以表示为如上文所述的mi(r
x
,ry,rz,t
x
,ty,tz)。
[0166]
在本技术的实施例中,电子设备根据陀螺仪采集的角速度数据可以得到相机在采集每一帧图像时相对于采集上一帧图像时的角度变化(r
x
,ry,rz),根据加速度传感器采集的加速度数据可以得到相机在采集每一帧图像时相对于采集上一帧图像时的位移变化(t
x
,ty,tz),根据相机在采集每一帧图像时相对于采集上一帧图像时的角度变化和位移变化可以得到相机在拍摄两帧图像时的运动路径,因此,电子设备根据运动传感器采集的运动数据可以得到相机运动的当前路径。
[0167]
图6b示出根据本技术一实施例的相机运动以及位姿预测的示意图。具体地,如图3和图6b所示,电子设备通过摄像头采集第i-n帧图像,获取采集第i-n帧图像之前相机的历史运动数据,根据历史运动数据可以得到相机的当前路径,当前路径可以如图6b中的实线部分所示。每一帧相对于上一帧的相机运动可以表示为mi(r
x
,ry,rz,t
x
,ty,tz),其中,i表示帧序号,r表示旋转,r
x
,ry,rz分别表示在世界坐标系的x、y、z三个坐标轴方向旋转的角度,r
x
,ry,rz可以根据陀螺仪采集的角速度数得到,t表示平移,t
x
,ty,tz分别表示在x、y、z三个
坐标轴方向平移的距离,t
x
,ty,tz可以根据加速度传感器采集的加速度数据得到。电子设备根据相机在采集每一帧图像相对于采集上一帧图像的角度变化和位移变化可以得到相机在拍摄两帧图像时的运动路径,最终可以得到图6b中的实线连线作为当前路径。
[0168]
电子设备可以根据相机的当前路径以及历史运动数据对相机采集未来多个帧的图像时的位姿进行预测。具体地,可以建立用于进行运动轨迹预测的神经网络模型,收集相机运动的样本数据并进行标注,将相机运动的样本数据输入到神经网络模型,对神经网络模型进行训练。电子设备可以将本技术的实施例中得到的相机的历史运动数据输入到训练后的神经网络中进行推理,可以预测相机采集未来几帧图像时的位姿。需要说明的是,采用神经网络模型进行运动轨迹的预测仅仅是本技术的一个示例,不以任何方式限制本技术。预测得到的位姿可以如图6b中的虚线部分所示。
[0169]
需要说明的是,电子设备在预测的过程中,可以实时的获取运动传感器采集的运动数据,利用实时获取的运动数据预测相机未来的位姿。也就是说,在预测第i-n帧之后相机的位姿时,可以利用运动传感器在相机采集第i-n帧图像之后、采集第i帧图像之前采集的部分运动数据,如图3所示,电子设备通过摄像头采集第i-n帧图像后,根据i-n帧图像计算第二增强系数,电子设备还可以预测像素偏移,在计算得到第二增强系数后,使用像素偏移调整第二增强系数得到第一增强系数,因此,电子设备在预测像素偏移过程中采用的历史运动数据可以是电子设备计算得到第二增强系数之前运动传感器采集的运动数据即可。
[0170]
如图3所示,电子设备可以预测第二图像相对于上述第一图像的第一延时帧数。在本技术的实施例中,对于连续采集的多个图像中的两个:第一图像和第二图像,第二图像的采集时间位于第一图像之后,根据第一图像计算得到增强系数,增强系数作用的帧为所述第二图像,第二图像相对于第一图像间隔的帧数表示延时帧数。
[0171]
如图3所示,在一种可能的实现方式中,电子设备可以根据统计得到的延时帧数的历史数据(第二延时帧数),确定第二图像相对于第一图像的第一延时帧数。比如说,电子设备可以记录每一帧对应的第二延时帧数,根据记录的第二延时帧数的平均值预测未来的第一延时帧数:delaynum=f(delay1,delay2,
……
delayn),其中,delaynum表示预测的未来的第二图像相对于第一图像的延时帧数(第一延时帧数),delay1,delay2,
……
delayn分别表示记录的之前的帧的第二延时帧数,f表示求平均值的函数,比如说,delaynum=(delay1+delay2+
……
+delayn)/n,其中,n表示第二延时帧数的个数,也就是统计了n个帧对应的第二延时帧数,n为正整数。在本技术的实施例中,第一延时帧数和第二延时帧数中的“第一”和“第二”是为了区分不同类型的延时帧数,不表示顺序关系,第二延时帧数可以表示统计的延时帧数的历史数据,第一延时帧数可以表示预测的未来的延时帧数。
[0172]
举例来说,如图3和图6b所示,在第i-n帧之前的n个帧,电子设备记录了这n个帧(第一图像)的时间戳、以及根据这n个帧计算得到的增强系数所作用的帧(第二图像)的时间戳。电子设备根据第i-n帧之前的多个第一图像的时间戳和多个第一图像对应的第二图像的时间戳,可以得到多个第二延时帧数,即上述n个帧对应的第二延时帧数delay1、delay2、
……
delayn,计算第二延时帧数的平均值可以作为预测的第二图像相对于第一图像的第一延时帧数。
[0173]
在另一种可能的实现方式中,电子设备可以直接根据记录的时间戳信息确定第二图像相对于第一图像的第一延时帧数。电子设备可以记录开始计算增强系数的时间戳以及
完成计算增强系数的时间戳,结合时间戳信息确定预测帧相对于当前帧延时帧数:delaynum=ceil((currentstamp

lastframestamp)/frameintervel),其中,currentstamp表示完成增强系数矫正的时间戳,lastframestamp表示第一图像的时间戳,frameintervel表示两帧之间的帧间隔,frameintervel可以根据帧率得到,frameintervel为帧率的倒数,比如说帧率为30fps,那么帧间隔可以为1s/30,ceil表示向上取整。举例来说,假设记录的第一图像的时间戳为t1,矫正完增强系数的时间戳为t2,帧间隔为t,如果(t2-t1)/t为整数,delaynum=(t2-t1)/t,如果(t2-t1)/t不是整数,向上取整后得到的数为delaynum,比如说(t2-t1)/t为2.3,那么延时帧数delaynum为3。
[0174]
通过上述实施例中不断预测相机的位姿差异和延时帧数,并根据预测的结果矫正第二图像的对比度,可以缓解帧延时的波动导致的视频或者预览图像的闪烁。也就是说,本技术的图像处理方法通过预测像素偏移的方式使得帧延时的波动在一定程度上是可预知的,根据预测的结果矫正第二图像的对比度能够提高显示效果。
[0175]
如图3所示,电子设备可以根据预测的未来几帧的相机的位姿,以及第二图像相对于第一图像的第一延时帧数,确定第二图像相对于第一图像的像素偏移。
[0176]
具体地,电子设备可以从预测的未来几帧的相机的位姿中,确定所述第一延时帧数对应的几帧的相机的位姿,电子设备可以根据所述第一延时帧数对应的几帧的相机的位姿,确定相机采集所述第二图像时刻的位姿相对于采集第一图像时刻的位姿的位姿差异,将相机的位姿差异从世界坐标系转换到像平面坐标系中对应的像素的空间位置的变化,也就是第二图像相对于第一图像的像素偏移。具体的转换过程可以参见相机坐标到图像坐标的相关转换技术。
[0177]
举例来说,假设电子设备预测了第一图像之后5帧图像对应的相机的位姿(相机采集这5帧图像的时刻的位姿):mi(r
x
,ry,rz,t
x
,ty,tz),i=1,2,3,4,5,电子设备确定的第一延时帧数为3帧,因此,电子设备可以根据预测的第一图像之后3帧图像对应的相机的位姿确定相机获取第二图像时刻的位姿相对于获取第一图像时刻的位姿的位姿差异,也就是说,可以根据mi(r
x
,ry,rz,t
x
,ty,tz),i=1,2,3得到相机的位姿差异,将位姿差异从世界坐标系转换到像平面坐标系中对应的像素的空间位置的变化,也就是第二图像相对于第一图像的像素偏移。比如说,如果m1(0,0,0,0.01,0.01,0)、m2(0,0,0,0,0.01,0)、m3(0,0,0,-0.01,0,0),那么从拍摄第一图像开始到拍摄第二图像,相机的位姿差异可以表达为(0,0,0,0,0.02,0),也就是相机在y方向移动的距离为0.02,在其他方向移动的距离、旋转的角度都为0,其中,距离的单位可以为cm;将上述相机的位姿差异乘以旋转矩阵和平移矩阵可以得到相机坐标系中相机的坐标变化,将相机坐标系中相机的坐标变化进行成像投影(转换到像平面坐标系),可以得到在像平面坐标系的像素偏移,也就是第二图像相对于第一图像的像素偏移。具体的转换过程可以参见相机坐标到图像坐标的相关转换技术。
[0178]
图7示出根据本技术一实施例的第二图像相对于第一图像的像素偏移的示意图。如图7所示,实线矩形框部分可以表示第一图像以及第一图像上划分区域的网格,四个像素a、b、c和d都有对应的增强系数,虚线矩形框可以表示第二图像以及第二图像上划分区域的网格。假设用户在手持相机拍摄时发现两朵花都有一部分没有在镜头中,比如图7中左侧的花朵下边一部分没有在镜头中,右侧的花朵右边一部分没有在镜头中,因此,用户将相机向右、向下进行平移,使两朵花全部位于镜头中,如图7的虚线矩形框所示。摄像头在采集第二
图像时相对于采集第一图像时向右、向下发生了平移,造成在像平面坐标上第二图像相对于第一图像存在像素偏移。因此,第二图像中与第一图像上的相同的像素的坐标与坐标原点的相对位置发生了变化。比如说,对于第一图像中的像素a,原来(相对于坐标原点o)的位置坐标为(w2,h1),在w方向向右平移为wd,在h方向向下平移为hd,那么在第二图像中,像素a(相对于坐标原点o1)的位置坐标可以为(w2-wd,h1+hd)。
[0179]
如图3所示,电子设备根据第二图像相对于第一图像的像素偏移,可以矫正第二增强系数,得到第一增强系数。
[0180]
具体地,电子设备可以根据像素的空间位置的变化(像素偏移)调整第一查询表中像素的位置坐标与第二查询表的关系,和/或,第二查询表中像素的亮度坐标与第二增强系数的对应关系。也就是说,本技术对增强系数的矫正过程可以是调整像素和像素对应的增强系数的对应关系,比如调整位置坐标、亮度坐标与增强系数的对应关系,实际上并没有调整增强系数的值。本技术的实施例提供的图像处理方法,可以根据第二图像相对于第一图像中像素的位置的变化调整第一查询表中像素的位置坐标与第二查询表的关系,和/或,第二查询表中像素的亮度坐标与增强系数的对应关系。
[0181]
电子设备通过摄像头采集第二图像(第i帧图像),根据第一增强系数对第二图像的对比度进行矫正。
[0182]
以上文示例中的第一查询表和第二查询表为例,假设相机向右、向下的移动导致第二图像相对于第一图像中像素的位置在w方向向右平移为wd,在h方向向下平移为hd。电子设备可以对第一查询表进行调整,调整后的第一查询表如表3所示:
[0183]
表3
[0184] w1-wdw2-wd
……
wn-wdh1+hd表11表12 表1nh2+hd表21表22 表2n
……ꢀꢀꢀꢀ
hm+hd表m1表m2
……
表mn
[0185]
这样,电子设备在根据调整后的第一查询表、第二查询表查询第二图像中像素对应的增强系数时,可以得到与像素匹配的增强系数,能够使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0186]
以像素a为例,像素a在第二图像中的位置坐标为(w2-wd,h1+hd),根据调整后的第一查询表(表3)查询可以得到像素a对应的第二查询表为表12,根据表12以及像素a的亮度可以确定像素a对应的第一增强系数。同样的,根据像素a在第一图像中的位置坐标(w2,h1),查询调整之前的第一查询表可以得到像素a对应的第二查询表为表12,根据表12以及像素a的亮度可以确定像素a对应的第一增强系数。通过比较可知,查询的结果是一致的,通过对电子设备根据第二图像相对于第一图像的像素偏移矫正增强系数,可以使得增强系数和作用帧的图像的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0187]
电子设备在显示摄像头采集的图像时,可以用矫正对比度后的第二图像替代摄像头采集到的第二图像进行显示,也就是,电子设备显示矫正后的第二图像。
[0188]
需要说明的是,以上根据像素偏移矫正增强系数的过程仅仅是本技术的一个示例,本技术不限于此。
[0189]
电子设备可以根据第二图像相对于第一图像的像素偏移矫正第一图像的图像信息,根据矫正后的第一图像计算增强系数,并根据增强系数对第二图像的图像对比度进行矫正。图8出根据本技术一实施例的图像处理方法的帧间时序图。
[0190]
结合图2a以及图8所示,对本示例的图像处理方法进行说明。如图2a所示,本技术实施例的电子设备还可以包括运动传感器,电子设备可以获取摄像头采集第二图像之前运动传感器的历史数据。
[0191]
如图8所示,电子设备通过运动传感器获取相机的历史运动数据,根据相机的历史运动数据预测未来几帧相机的位姿。
[0192]
具体地,电子设备可以根据相机的历史运动数据得到相机的当前路径,根据相机的当前路径以及历史运动数据预测未来几帧相机的位姿。具体的过程可以参见上文,不再赘述。
[0193]
在本实施例中,电子设备可以根据相机采集第一图像之前的运动传感器的历史数据预测相机采集第一图像之后采集未来几帧图像时的位姿。
[0194]
电子设备可以预测第二图像相对于第一图像的第一延时帧数。
[0195]
如图8所示,电子设备可以根据延时帧数的历史数据(第二延时帧数)确定平均延时帧数作为第二图像相对于第一图像的第一延时帧数。比如说,电子设备可以记录每一帧对应的第二延时帧数,根据记录的第二延时帧数的平均值(图8所示的平均延时帧数)预测未来的第一延时帧数,具体的过程可以参见上文的介绍,不再赘述。由于还未开始计算增强系数,因此,在本示例中可以采用平均延时帧数作为第一延时帧数,在本示例中预测相机的位姿时可以采用采集第一图像之前运动传感器的历史数据。
[0196]
电子设备可以根据预测的未来几帧的相机的位姿以及第二图像相对于第一图像的第一延时帧数,确定第二图像相对于第一图像的像素偏移,如图8所示,电子设备可以预测第i帧相对于第i-n帧的像素偏移。具体过程可以参见上文的介绍,不再赘述。
[0197]
电子设备可以根据第二图像相对于第一图像的像素偏移,矫正第一图像的图像信息,得到第三图像,具体地,可以矫正第一图像的像素的空间位置。如图8所示,电子设备可以根据像素偏移调整第i-n帧图像的图像信息。
[0198]
如图7所示,假设相机向右、向下的移动导致第二图像相对于第一图像中像素的位置在w方向向右平移为wd,在h方向向下平移为hd。假设调整之前像素a在第一图像中的坐标为(w2,h1),根据像素偏移调整像素a的坐标,像素a在第三图像中的坐标为(w2-wd,h1+hd)。根据上述过程,对第一图像中与第二图像相同的像素进行调整可以得到第三图像。
[0199]
在一种可能的实现方式中,电子设备可以根据位姿差异(像素偏移)计算变换矩阵,再将变换矩阵作用于第一图像,例如可以求第一图像和变换矩阵的和/或者差值,得到第三图像。
[0200]
在本技术的实施例中,变换矩阵h=fun(rot_predict-rot_current),其中,rot_predict表示预测的采集第二图像时相机的位姿,rot_current表示采集第一图像时相机的位姿。fun表示根据位姿差异计算变换矩阵的函数,如上文所述,可以将位姿差异乘以旋转矩阵和平移矩阵可以得到相机坐标系中相机的坐标变化,将相机坐标系中相机的坐标变化进行成像投影(转换到像平面坐标系),可以得到在像平面坐标系的像素偏移,即可得到变换矩阵h。
[0201]
第三图像i’=h(i
in
),其中,i
in
表示第一图像。
[0202]
如图8所示,电子设备可以根据第三图像的图像信息得到统计信息,根据第三图像的统计信息计算第一增强系数。
[0203]
电子设备通过摄像头采集第二图像(第i帧图像),可以根据第一增强系数对第二图像的对比度进行矫正。
[0204]
根据矫正后的第一图像的图像信息计算得到的增强系数与预测的第二图像的像素是匹配的,对采集的第二图像的对比度进行矫正,可以使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0205]
电子设备可以用矫正对比度后的第二图像替代摄像头采集到的第二图像进行显示。
[0206]
图9a示出根据本技术一实施例的图像处理方法的帧间时序图。在本示例中,电子设备可以根据所述第二图像之前的历史图像的信息和第一图像,预测多帧图像中的第一图像之后的所述第二图像相对于所述第一图像的像素偏移。
[0207]
在本示例的场景中,相机可以是手机上的摄像头,用户拿着手机在拍摄视频或者在拍照片前进行预览,用户持手机的手可以是静止不动的,摄像头取景范围内有目标在移动;相机也可以是设置在无人机上的摄像头,无人机悬停拍摄、摄像头取景范围内可以有目标在移动;或者,相机也可以是车载的摄像头(行车记录仪),汽车停在固定位置,摄像头拍摄车辆周围的画面,画面中可以有目标在移动,等等。本技术对具体的应用场景不作限。
[0208]
结合图2a和图9a所示,对本示例的图像处理方法进行说明。
[0209]
如图9a所示,电子设备可以预测第二图像相对于第一图像的第一延时帧数。具体过程可以参见上文的介绍,不再赘述。
[0210]
如图9a所示,电子设备可以根据第二图像之前的历史图像的图像信息和第一图像,预测未来几帧图像相对于第一图像的像素偏移。
[0211]
具体地,仍然可以建立神经网络模型,神经网络模型中可以包括运动目标识别模块和运动轨迹预测模块,收集包括运动目标的样本数据并进行标注。将包括运动目标的样本数据输入到神经网络中,对神经网络模型进行训练。具体地,运动目标识别模块可以提取输入的样本数据的光流特征,根据光流特征识别运动目标,根据多帧图像中的运动目标确定运动目标的运动轨迹,由运动轨迹预测模块根据识别的运动轨迹预测运动目标未来的运动轨迹,并根据预测结果与实际结果计算损失函数,如果损失函数不满足要求,进行逆向推理调整神经网络模型的参数继续进行训练。
[0212]
将本技术实施例的历史图像输入到训练后的神经网络模型中进行正向推理,可以识别历史图像中的运动目标,并对运动目标的运动轨迹进行预测,根据预测结果可以得到未来几帧图像相对于第一图像的像素偏移。
[0213]
如图9a所示,电子设备可以结合预测的未来几帧图像相对于第一图像的像素偏移以及第一延时帧数,得到第二图像相对于第一图像的像素偏移。
[0214]
图9b示出根据本技术一实施例的目标运动轨迹预测的示意图。如图9b所示,左侧的图像表示第一图像之前的历史图像,历史图像中包括运动目标,如图9b所示的每帧图像包括黑色背景,黑色背景中包括白色的数字“5”,并且“5”在每帧图像中的位置不一样,是在逐渐移动的,根据历史图像可以预测第一图像之后的未来5帧图像中运动目标的运动轨迹,
假设第二图像相对于第一图像的第一延时帧数为5帧,根据预测的第5帧图像可以确定第二图像相对于第一图像的像素偏移。
[0215]
在另一种可能的实现方式中,电子设备也可以根据历史图像的图像信息进行像平面坐标系到相机坐标系以及世界坐标系的转换,进行三维建模,然后,可以根据转换得到的三维模型确定相机采集历史图像时的历史位姿,根据历史位姿可以预测相机采集未来几帧图像时的位姿。根据预测的相机采集第一图像之后的多帧图像时的位姿和第一延时帧数确定相机采集第二图像时的位姿相对于采集第一图像时的位姿的位姿差异,根据所述位姿差异可以确定第二图像相对于第一图像的像素偏移。
[0216]
电子设备也可以结合以上两种方式,根据所述第二图像之前的历史图像的信息和第一图像,预测所述第二图像相对于所述第一图像的像素偏移。
[0217]
需要说明的是,图9a示出的得到增强系数的过程是先根据像素偏移调整第一图像得到第三图像,再根据第三图像计算第一增强系数的示例,如果采用图3中计算第一增强系数的示例,可以根据第二图像之前的历史图像预测未来几帧图像相对于第一图像的像素偏移。
[0218]
图9c示出根据本技术一实施例的第二图像相对于第一图像的像素偏移的示意图。如图9c所示,实线矩形框部分可以表示第一图像(第i-n帧图像)以及第一图像上划分区域的网格,虚线矩形框可以表示第二图像(第i帧图像)以及第二图像上划分区域的网格。假设摄像头在拍摄过程中,镜头不动,有汽车从镜头中开过,根据本技术的图像处理方法可以对汽车运动的过程进行预测,得到汽车在第二图像中的位置,并根据预测的运动轨迹可以确定第二图像相对于第一图像的像素偏移,如图9c中汽车对应的像素的像素偏移。图中静态的目标以及背景部分可能没有像素偏移,如果拍摄过程中,镜头发生移动或者旋转,静态的目标和背景部分也可能存在像素偏移。
[0219]
确定第二图像相对于第一图像的像素偏移,电子设备可以根据第一图像计算第二增强系数,根据像素偏移矫正第二增强系数,得到第一增强系数;或者,电子设备也可以根据像素偏移矫正第一图像,得到第三图像,根据第三图像计算第一增强系数。本示例对根据像素偏移和第一图像得到第一增强系数的过程不作限定,以其中一种方式对本示例进行介绍。
[0220]
如图9a所示,电子设备根据预测的第二图像相对于第一图像的像素偏移,可以调整第一图像的图像信息,得到第三图像。
[0221]
具体地,根据图9b所示的示例,电子设备可以根据像素偏移调整第一图像中对应的像素的位置坐标,使得调整后的第三图像中运动目标位于预测的位置。
[0222]
如图9a所示电子设备可以根据第三图像的图像信息计算第一增强系数。以图4和图5a所示的应用示例为例,电子设备可以对第三图像上的像素进行分区,对第三图像的每个区域的图像信息进行统计得到每个区域的统计信息,根据每个区域的统计信息计算,得到每个区域(第一类像素)的第一增强系数。电子设备可以得到第一类像素和对应的第一增强系数的映射关系。
[0223]
电子设备可以根据第一类像素和对应的第一增强系数的映射关系建立第一查询表和第二查询表。
[0224]
电子设备通过摄像头采集第二图像(第i帧图像),电子设备可以根据计算得到的
第一增强系数对第二图像的对比度进行矫正。电子设备可以用矫正对比度后的第二图像替代摄像头采集到的第二图像进行显示。
[0225]
根据本技术上述示例的图像处理方法,通过历史图像的图像信息预测未来图像相对于当前图像的像素偏移,根据当前图像和像素偏移得到第一增强系数,并根据得到的第一增强系数对未来图像的图像对比度进行增强处理,可以使得第一增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0226]
图10示出根据本技术一实施例的图像处理方法的帧间时序图。在本示例中,电子设备可以根据采集所述第二图像之前的运动传感器的历史数据和历史图像的信息、以及第一图像,预测所述第二图像相对于所述第一图像的像素偏移。
[0227]
结合图2a和图10所示,对本示例的图像处理方法进行说明。如图2a所示,本技术实施例的电子设备还可以包括运动传感器,电子设备可以获取摄像头采集第二图像之前运动传感器的历史数据。
[0228]
如图10所示,本示例中,电子设备可以预测二图像相对于第一图像的第一延时帧数。具体过程可以参见上文,不再赘述。
[0229]
电子设备可以根据第二图像之前的历史图像的图像信息和运动传感器的历史数据、以及上述第一延时帧数,预测第二图像相对于第一图像的像素偏移。
[0230]
具体的,处理器根据运动传感器的历史数据预测未来几帧的位姿,根据预测的相机采集未来几帧时的位姿相对于采集第一图像时的位姿的位姿差异可以得到未来几帧相对于第一图像的第一像素偏移;处理器根据历史图像预测未来几帧相对于第一图像的第二像素偏移,根据第一像素偏移和第二像素偏移可以得到未来几帧相对于第一图像的像素偏移。
[0231]
电子设备根据历史图像预测未来几帧图像相对于第一图像的第二像素偏移,具体可以包括以下过程:电子设备可以根据历史图像的图像信息进行像平面坐标系到相机坐标系以及世界坐标系的转换,进行三维建模,然后,可以根据转换得到的三维模型确定历史位姿,根据历史位姿可以预测相机采集未来几帧图像时的位姿,根据相机采集未来几帧图像时的位姿相对于采集第一图像时的位姿的位姿差异可以得到未来几帧图像相对于第一图像的第二像素偏移。
[0232]
电子设备结合预测的未来几帧图像相对于第一图像的像素偏移以及第一延时帧数,可以得到第二图像相对于第一图像的像素偏移。
[0233]
如图10所示,电子设备根据预测的第二图像相对于第一图像的像素偏移,可以矫正第一图像的图像信息,得到第三图像;根据第三图像的图像信息计算第一增强系数。
[0234]
电子设备通过摄像头采集第二图像(第i帧图像),根据第一增强系数对第二图像的对比度进行矫正。
[0235]
电子设备可以用矫正对比度后的第二图像替代摄像头采集到的第二图像进行显示。
[0236]
需要说明的是,在本示例中,电子设备还可以根据所述第一图像计算第二增强系数,根据像素偏移矫正第二增强系数,得到第一增强系数,本技术对根据像素偏移矫正增强系数和作用帧的空间差异的具体过程不作限定。
[0237]
需要说明的是,本技术对像素偏移的预测过程以及根据像素偏移调整空间位置差
异的过程不作具体的限定。比如说,在本技术的实施例中,电子设备还可以根据第一像素偏移以及第一延时帧数,得到第二图像相对于第一图像的第三像素偏移,根据第二像素偏移以及第一延时帧数,得到第二图像相对于第一图像的第四像素偏移。电子设备根据第四像素偏移可以矫正第一图像的图像信息,根据矫正后的第一图像可以计算增强系数,电子设备可以根据第三像素偏移矫正增强系数,然后根据矫正后的增强系数对第二图像的对比度进行矫正。也就是先根据局部像素偏移矫正第一图像,根据矫正后的第一图像计算增强系数,根据全局像素偏移矫正增强系数,根据矫正后的增强系数对第二图像的对比度进行矫正。
[0238]
根据本技术上述实施例的图像处理方法都可以使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0239]
图11a示出根据本技术一实施例的图像处理方法的帧间时序图。在本技术的实施例中,如上文的实施例所述,根据第一图像,预测多帧图像中的第一图像之后的第二图像相对于第一图像的像素偏移,可以包括:预测相机获取所述第二图像时刻的位姿相对于获取所述第一图像时刻的位姿的位姿差异(预测的相机的位姿差异);根据位姿差异,得到第二图像相对于第一图像的像素偏移。
[0240]
在一种可能的实现方式中,电子设备可以根据预测的相机的位姿差异与实际的位姿差异之间的误差,调整之后预测像素偏移的过程。其中,实际的位姿差异为相机实际采集第二图像时的位姿相对于采集第一图像时的位姿的差异。具体地,电子设备还用于判断所述第二图像之前的历史位姿预测精度不满足精度条件时,根据预测的相机的位姿差异调整之后预测相机的位姿的过程,其中,所述历史位姿预测精度是根据采集所述第二图像之前预测的相机的位姿差异与对应的实际的位姿差异得到的,所述精度条件为历史位姿预测精度需要满足的精度范围。
[0241]
也就是说,在本技术的实施例中,电子设备在采用预测的相机的位姿差异确定像素偏移之前,可以判断历史位姿预测精度是否满足精度条件。
[0242]
如果历史位姿预测精度满足精度条件,则电子设备可以根据预测的相机的位姿差异确定第二相对于第一图像的像素偏移,并根据像素偏移矫正第一图像或者增强系数。
[0243]
如果历史位姿预测精度不满足精度条件,则电子设备可以调整之后预测未来几帧图像的位姿的过程,具体地,电子设备中可以包括预测位姿的预测模块,预测模块可以采用ai模型或者其他模型预测位姿,电子设备可以根据预测的位姿差异与实际的位姿差异的误差调整预测模块的参数,比如说调整ai模型的参数,这样可以实现对之后预测位姿的过程进行调整。
[0244]
如图11a所示,本示例的图像处理方法可以包括以下过程:
[0245]
电子设备可以预测第二图像相对于第一图像的第一延时帧数。具体过程可以参见上文,不再赘述。
[0246]
电子设备根据第二图像之前的历史图像的图像信息和/或运动传感器的历史数据,预测未来几帧的图像相对于第一图像的位姿差异。
[0247]
结合预测的未来几帧图像相对于第一图像的位姿差异以及第一延时帧数,电子设备可以得到第二图像相对于第一图像的位姿差异。
[0248]
如图11a所示,电子设备可以判断历史位姿预测精度是否满足精度条件。如果满
足,则根据预测的第二图像相对于第一图像的位姿差异可以得到第二图像相对于第一图像的像素偏移、以及执行之后矫正图像的对比度的过程,比如说,电子设备根据预测的第二图像相对于第一图像的像素偏移,可以矫正第一图像的图像信息,得到第三图像;根据第三图像的图像信息计算第一增强系数;根据第一增强系数对第二图像的对比度进行矫正。如果不满足,则电子设备可以获取第二图像相对于第一图像的真实位姿差异,根据预测的位姿差异与真实位姿差异的误差调整预测位姿的过程。
[0249]
在一种可能的实现方式中,电子设备可以通过滑动窗口的形式统计历史位姿预测精度。图11b示出根据本技术一实施例的确定历史位姿预测精度的示意图,如图11b所示,电子设备可以根据第i-n-k帧到第i-n-l帧图像对应的位姿预测精度进行统计并计算位姿预测精度的平均值作为历史位姿预测精度,其中,k和l都为正整数,k大于l。举例来说,假设l为1,k为5,那么滑动窗口的长度为4,第i-n-5帧图像对应的位姿预测精度为pdiff(i-n-5)、第i-n-4帧图像对应的位姿预测精度为pdiff(i-n-4)、第i-n-3帧图像对应的位姿预测精度为pdiff(i-n-3)、第i-n-2帧图像对应的位姿预测精度为pdiff(i-n-2)、第i-n-1帧图像对应的位姿预测精度为pdiff(i-n-1),因此,电子设备可以得到历史位姿预测精度为pdiff=(pdiff(i-n-5)+pdiff(i-n-4)+pdiff(i-n-3)+pdiff(i-n-2)+pdiff(i-n-1))/4。
[0250]
假设精度条件为pdiff大于pdiff(ref),其中,pdiff(ref)为位姿预测精度阈值,如果历史位姿预测精度大于pdiff(ref),电子设备可以根据预测的位姿差异确定像素偏移,并根据像素偏移对图像对比度增强的过程进行矫正;如果历史位姿预测精度不大于pdiff(ref),如上所述,电子设备可以根据预测的位姿差异与真实位姿差异的误差调整预测未来图像的位姿的过程,如图11a所示。
[0251]
需要说明的是,图11a中步骤判断历史位姿预测精度是否满足精度条件与其他步骤的顺序关系仅仅是本技术的一个示例,不以任何方式限制本技术。比如说,在本技术的示例中,电子设备可以不断的判断历史位姿预测精度是否满足精度条件,比如说以一定的时间间隔判断历史位姿预测精度是否满足精度条件,不考虑后面预测进行到哪一步骤,判断历史位姿预测精度不满足精度条件,执行调整预测的过程,直到判断历史位姿预测精度满足精度条件,可以执行根据位姿差异确定像素偏移,根据像素偏移,可以调整第一图像的图像信息,得到第三图像,根据第三图像的图像信息计算第一增强系数,根据第一增强系数对第二图像的图像对比度进行增强处理。之后还是持续判断历史位姿预测精度是否满足精度条件,不满足则根据当前得到的位姿差异以及对应的真实位姿差异调整预测的过程,满足则根据当前得到的位姿差异确定像素偏移并执行之后的过程。
[0252]
需要说明的是,在本示例中,电子设备可以根据所述第一图像计算第二增强系数,根据所述像素偏移矫正所述第二增强系数,得到所述第一增强系数;或者,电子设备也可以根据所述像素偏移矫正所述第一图像,得到第三图像,根据所述第三图像计算第一增强系数。电子设备通过摄像头采集第二图像(第i帧图像),根据第一增强系数对第二图像的对比度进行矫正。
[0253]
在本技术的上述实施例中,电子设备以矫正对比度后的第二图像替代摄像头采集的第二图像进行显示。通过预测的结果反馈调节预测的过程,可以进一步提高预测的准确度,从而使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0254]
在一种可能的实现方式中,电子设备可以根据运动场景选择预测未来几帧图像的
位姿基于的信息。电子设备可能处于运动幅度比较大的运动场景,也可能处于相对静止、运动幅度比较小的运动场景中。比如说,用户手持电子设备边走边拍,或者用户在移动的车内手持电子设备拍摄,这些场景中电子设备的运动幅度比较大。如果电子设备假设在支架上,或者用户手持电子设备拍摄、但用户不移动且手持的方式比较稳定,这些场景中电子设备的运动幅度比较小。
[0255]
在本技术的实施例中,如图2a所示,电子设备还可以包括运动传感器,电子设备可以获取运动传感器的历史数据,运动传感器的历史数据可以是指摄像头采集所述第二图像之前运动传感器采集的电子设备的运动数据。电子设备可以根据所述历史数据确定运动场景,根据所述运动场景对应的历史运动信息,预测所述第二图像相对于所述第一图像的像素偏移;其中,所述运动场景包括第一场景和第二场景,所述第一场景对应的历史运动信息为运动传感器的历史数据,所述第二场景对应的历史运动信息为历史图像的信息。
[0256]
图12示出根据本技术一实施例的图像处理方法的帧间时序图。如图12所示,本实施例的图像处理方法可以包括以下过程:
[0257]
电子设备可以预测第二图像相对于第一图像的第一延时帧数。
[0258]
电子设备通过运动传感器感的数据判断电子设备所处的运动场景,如果电子设备处于场景1(第一场景),电子设备可以根据运动传感器的历史数据和第一图像,预测相机采集未来几帧图像时相对于采集第一图像时的位姿差异,如果电子设备处于场景2(第二场景),电子设备可以根据第二图像之前的历史图像的图像信息和第一图像,预相机采集测未来几帧图像时相对于采集第一图像时的位姿差异。
[0259]
预测位姿差异之后的过程可以与前文的实施例中的处理过程相同,可以结合前文的实施例的过程,不再赘述。
[0260]
在本技术的实施例中,电子设备可以根据第二图像之前的运动传感器的历史数据判断电子设备当前所处的运动场景,或者说,电子设备可以根据实时获取的运动传感器的数据判断电子设备所处的运动场景,本技术对此不作限定。运动传感器可以包括如上文所述的加速度计、陀螺仪等等,根据获取的运动传感器的数据可以判断电子设备是处于运动幅度比较大的第一场景中,还是处于运动幅度比较小的第二运动场景中。其中,运动幅度可以根据电子设备移动或者旋转的速度等参数衡量,本技术对具体确定运动幅度大小所采用的标准不作限定,可以根据实际的应用需求设置。在本技术的实施例中将运动场景分为第一场景和第二场景也仅仅是本技术的一个示例,本技术不限于此,还可以设置多个不同的场景,每个场景对应的数据不同,比如说,还可以设置第三场景,第三场景对应的历史运动信息可以包括运动传感器的历史数据和历史图像的信息。
[0261]
在本实施例中,电子设备在预测得到位姿差异后,还可以判断历史位姿预测精度是否满足精度条件,如果满足精度条件,则电子设备可以结合预测的位姿差异以及第一延时帧数,得到第二图像相对于第一图像的像素偏移、以及执行之后矫正对比度的过程,比如说根据预测的第二图像相对于第一图像的像素偏移,可以矫正第一图像的图像信息,得到第三图像;根据第三图像的图像信息计算第一增强系数;电子设备根据第一增强系数对第二图像的对比度进行矫正。电子设备在显示摄像头采集的多帧图像时,以矫正对比度后的第二图像替代摄像头采集的第二图像进行显示。
[0262]
如果不满足精度条件,电子设备可以获取实际的位姿差异,根据预测的位姿差异
与实际的位姿差异的误差调整之后预测位姿的过程,具体过程可以参见上文,不再赘述。需要说明的是,在本实施例中,电子设备也可以不进行历史位姿预测精度是否满足精度条件的判断,直接根据预测得到为位姿差异执行后续的过程。
[0263]
通过预先判断运动场景,并根据运动场景选择合适的历史运动信息预测未来几帧图像的位姿,可以使得预测的结果更准确,从而使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0264]
需要说明的是,本技术上述示例中的图像处理方法中的预测第一延时帧数的方式、预测未来几帧图像位姿的方式、根据像素偏移调整矫正图像对比度的过程、以及运动场景的判断、位姿预测精度的判断等不同的方式是可以互相组合的,不限于实施例的具体过程。
[0265]
基于本技术的上述实施例,本技术提供了图像处理方法。图13示出根据本技术一实施例的图像处理方法的流程图,图13所示的方法可以应用于图2a和图2a所示的电子设备,如图13所示,所述方法可以包括:
[0266]
步骤s110,通过摄像头采集第一图像,所述第一图像为所述摄像头连续采集的多帧图像中的一帧图像。
[0267]
步骤s111,根据所述第一图像,预测所述多帧图像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,所述像素偏移是所述第二图像相对于所述第一图像的像素的空间位置变化。
[0268]
步骤s112,根据所述第一图像和所述像素偏移,得到第一增强系数。
[0269]
步骤s113,通过摄像头采集所述第二图像;
[0270]
步骤s114,根据所述第一增强系数矫正所述第二图像的对比度。
[0271]
步骤s115,显示矫正后的第二图像。
[0272]
本技术提供的图像处理方法,电子设备在通过摄像头连续采集图像的过程中,预测之后的第二图像相对于已经采集到的第一图像的像素偏移,根据第二图像相对于第一图像的像素偏移矫正增强系数,根据矫正后得到的增强系数对第二图像的图像对比度进行矫正。通过根据像素的空间位置变化矫正增强系数,可以使得增强系数和作用帧的图像的空间偏差尽量减小,从而减小帧间差异,因此,采用矫正后的增强系数对第二图像的对比度进行矫正,并以矫正对比度后的第二图像替代第二图像进行显示,可以提高显示效果。
[0273]
对于步骤s111,在一个示例中,电子设备可以获取运动传感器的历史数据,根据运动传感器的历史数据和第一图像,预测所述第二图像相对于所述第一图像的像素偏移。具体地,电子设备可以根据运动传感器的历史数据预测相机采集第一图像之后的多帧图像时的位姿,预测第二图像相对于第一图像的第一延时帧数,根据预测的相机采集第一图像之后的多帧图像时的位姿和所述第一延时帧数确定相机采集第二图像时的位姿相对于采集第一图像时的位姿的位姿差异,根据所述位姿差异确定第二图像相对于第一图像的像素偏移。其中,所述运动传感器的历史数据为采集所述第二图像之前的数据。具体过程,可以参见图3所示的示例以及介绍。
[0274]
对于步骤s111,在另一个示例中,电子设备也可以根据所述第二图像之前的历史图像的信息和第一图像,预测所述第二图像相对于所述第一图像的像素偏移。在一种可能的实现方式中,电子设备可以预测第二图像相对于第一图像的第一延时帧数,根据历史图
像的信息预测相机采集第一图像之后的多帧图像时的位姿,根据预测的相机采集第一图像之后的多帧图像时的位姿和所述第一延时帧数确定相机采集第二图像时的位姿相对于采集第一图像时的位姿的位姿差异,根据所述位姿差异确定第二图像相对于第一图像的像素偏移。根据历史图像的信息预测相机采集第一图像之后的多帧图像时的位姿的具体过程可以为,电子设备可以根据历史图像的图像信息进行像平面坐标系到相机坐标系以及世界坐标系的转换,进行三维建模,然后,可以根据转换得到的三维模型确定相机采集历史图像时的历史位姿,根据历史位姿可以预测相机采集未来几帧图像时的位姿。具体过程,可以参见图9a、图10所示的示例以及介绍。
[0275]
对于步骤s111,在另一个示例中,电子设备也可以根据所述第二图像之前的运动传感器的历史数据和历史图像的信息,预测所述第二图像相对于所述第一图像的像素偏移。具体过程,可以参见图10所示的示例以及介绍。
[0276]
对于步骤s111,在另一个示例中,电子设备也可以根据所述第二图像之前的运动传感器的历史数据,确定运动场景;运动场景包括第一场景和第二场景,第一场景对应的历史运动信息为运动传感器的历史数据,第二场景对应的历史运动信息为历史图像的信息;电子设备可以根据所述运动场景对应的历史运动信息和第一图像,预测所述第二图像相对于所述第一图像的像素偏移。具体过程,可以参见图12所示的示例以及介绍。
[0277]
通过预先判断运动场景,并根据运动场景选择合适的历史运动信息预测未来几帧图像的位姿,可以使得预测的结果更准确,从而使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0278]
其中,根据所述第一图像,预测所述多帧图像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,可以包括,预测相机获取所述第二图像时刻的位姿相对于获取所述第一图像时刻的位姿的位姿差异;根据所述位姿差异,得到所述第二图像相对于所述第一图像的像素偏移。具体过程,可以参见上文具体的实施例部分的介绍。
[0279]
在本技术的实施例中,图像处理方法还可以包括:若所述第二图像之前的历史位姿预测精度不满足精度条件,则根据所述位姿差异调整之后预测图像的位姿的过程,其中,所述历史位姿预测精度是根据所述第二图像之前预测的位姿差异与对应的实际的位姿差异得到的,所述精度条件为历史位姿预测精度需要满足的精度范围。具体过程,可以参见图11a或图12所示的示例以及介绍。
[0280]
通过预测的结果反馈调节预测的过程,可以进一步提高预测的准确度,从而使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0281]
对于步骤s112,在一个示例中,步骤s112可以包括根据所述第一图像计算第二增强系数;根据所述像素偏移矫正所述第二增强系数,得到所述第一增强系数。具体过程,可以参见图3所示的示例以及介绍。
[0282]
对于步骤s112,在另一个示例中,步骤s112可以包括根据所述像素偏移矫正所述第一图像,得到第三图像;根据所述第三图像计算第一增强系数。具体过程,可以参见图8所示的示例以及介绍。
[0283]
对于步骤s113和步骤s114可以参见上文中图3、图8、图9a、图10、图11a和图12部分电子设备通过摄像头采集第i帧图像,并根据第一增强系数矫正第i帧图像,显示矫正后的第i帧图像的过程。
[0284]
本技术实施例提供的图像处理方法可以通过软件的方式实现,也就是在应用层实现,比如说可以在相机应用中实现本技术的图像处理方法对应的功能。如图2b所示,本技术实施例提供的图像处理方法可以在系统库实现,比如,在系统库的媒体库中实现本技术的图像处理方法的功能。
[0285]
在一种可能的实现方式中,电子设备在打开相机应用时,处理器运行相机应用,控制摄像头连续采集多帧图像,比如说,摄像头采集的多帧图像经过isp处理后传输到系统库,对于所述多帧图像中第一图像,系统库根据所述第一图像之前的历史图像的信息,预测所述第二图像相对于所述第一图像的像素偏移,根据所述第一图像和所述像素偏移,得到第一增强系数,将第一增强系数存储在图2a所示的内部存储器221。根据所述第一增强系数矫正所述第二图像的对比度的过程可以采用硬件的方式实现,电子设备的处理器(比如isp)上可以集成矫正图像的对比度的功能,isp可以查询内部存储器存储的第一增强系数,矫正第二图像的对比度,并将矫正对比度后的第二图像返回给相机应用,相机应用在显示多帧图像时,以所述矫正对比度后的第二图像替代所述第二图像进行显示。
[0286]
在另一种可能的实现方式中,电子设备在打开相机应用时,处理器运行相机应用,控制摄像头连续采集多帧图像,比如说,摄像头采集的多帧图像经过isp处理后传输到系统库,处理器还获取运动传感器的历史数据传输到系统库。对于所述多帧图像中第一图像,系统库根据所述运动传感器的历史数据,预测所述第二图像相对于所述第一图像的像素偏移,根据所述第一图像和所述像素偏移,得到第一增强系数,将第一增强系数存储在图2a所示的内部存储器221。根据所述第一增强系数矫正所述第二图像的对比度的过程可以采用硬件的方式实现,电子设备的处理器(比如isp)上可以集成矫正图像的对比度的功能,isp可以查询内部存储器存储的第一增强系数,矫正第二图像的对比度,并将矫正对比度后的第二图像返回给相机应用,相机应用以所述矫正对比度后的第二图像替代所述第二图像进行显示。本技术实施例提供的图像处理方法也可以通过硬件的方式实现,比如说,可以在专用图像处理器dsp或专用集成电路(application specific integrated circuit,asic)上实现本技术实施例的图像处理方法的功能,或者在isp上实现本技术实施例的图像处理方法的功能。在一种可能的实现方式中,对于预测所述第一图像之后的第二图像相对于所述第一图像的像素偏移的过程,还可以在npu处理器上实现。
[0287]
本技术实施例提供的图像处理方法也可以部分通过软件的方式实现,部分通过硬件的方式实现,比如说,预测所述第一图像之后的第二图像相对于所述第一图像的像素偏移的过程可以通过软件的方式实现,根据所述第一图像和所述像素偏移,得到第一增强系数,根据所述第一增强系数矫正所述第二图像的对比度,以所述矫正对比度后的第二图像替代所述第二图像进行显示的过程都可以通过硬件的方式实现。
[0288]
判断第一图像之前的历史位姿预测精度是否满足精度条件的过程可以通过软件或硬件的方式实现,本技术对此不作限定。
[0289]
本技术还提供了一种电子设备,图14示出根据本技术一是实施例的电子设备的框图。如图14所示,本技术实施例提供的电子设备可以包括:摄像头、处理器和显示器。
[0290]
摄像头用于采集第一图像并发送给所述处理器;所述第一图像为所述摄像头连续采集的多帧图像中的一帧图像;处理器用于根据所述第一图像,预测所述多帧图像中的所述第一图像之后的第二图像相对于所述第一图像的像素偏移,所述像素偏移是所述第二图
像相对于所述第一图像的像素的空间位置变化;处理器用于根据所述第一图像和所述像素偏移,得到第一增强系数;所述摄像头用于采集所述第二图像并发送给所述处理器;处理器用于根据所述第一增强系数矫正所述第二图像的对比度;所述显示器用于显示矫正后的第二图像。
[0291]
根据本技术实施例提供的电子设备,在通过摄像头连续采集图像的过程中,预测之后的第二图像相对于已经采集到的第一图像的像素偏移,并根据像素偏移矫正增强系数,根据矫正后得到的增强系数对第二图像的图像对比度进行矫正。本技术实施例的电子设备通过根据像素的空间位置变化矫正增强系数,可以使得增强系数和第二图像的空间偏差尽量减小,从而减小帧间差异,采用矫正后的增强系数对第二图像的对比度进行矫正,并以矫正对比度后的第二图像替代第二图像进行显示,可以提高显示效果。
[0292]
在一种可能的实现方式中,如图14所示,所述电子设备还包括运动传感器,如图2a所示的传感器模块280部分的陀螺仪传感器280a、加速度传感器280b等。所述处理器用于获取所述运动传感器的历史数据,并根据所述历史数据和所述第一图像预测所述第二图像相对于所述第一图像的像素偏移,所述运动传感器的历史数据为采集所述第二图像之前的数据。
[0293]
在一种可能的实现方式中,所述处理器还用于根据所述第二图像之前的历史图像的信息和所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移。
[0294]
在一种可能的实现方式中,所述电子设备还包括运动传感器,所述处理器还用于获取采集所述第二图像之前的所述运动传感器的历史数据,并根据所述历史数据确定运动场景,根据所述运动场景对应的历史运动信息和所述第一图像,预测所述第二图像相对于所述第一图像的像素偏移;其中,所述运动场景包括第一场景和第二场景,所述第一场景对应的历史运动信息为运动传感器的历史数据,所述第二场景对应的历史运动信息为历史图像的信息。
[0295]
在一种可能的实现方式中,根据所述第一图像,预测所述多帧图像中的所述第一图像之后的所述第二图像相对于所述第一图像的像素偏移,包括:
[0296]
预测相机获取所述第二图像时刻的位姿相对于获取所述第一图像时刻的位姿的位姿差异;根据所述位姿差异,得到所述第二图像相对于所述第一图像的像素偏移。
[0297]
在一种可能的实现方式中,所述处理器还用于判断所述第二图像之前的历史位姿预测精度不满足精度条件时,根据所述位姿差异调整之后预测图像的位姿差异的过程,其中,所述历史位姿预测精度是根据所述第二图像之前预测的位姿差异与对应的实际的位姿差异得到的,所述精度条件为历史位姿预测精度需要满足的精度范围。
[0298]
在一种可能的实现方式中,所述处理器用于根据所述第一图像计算第二增强系数,根据所述像素偏移矫正所述第二增强系数,得到所述第一增强系数。
[0299]
在一种可能的实现方式中,所述处理器用于根据所述像素偏移矫正所述第一图像,得到第三图像,根据所述第三图像计算第一增强系数。
[0300]
图15示出根据本技术一实施例的应用场景的示意图。图15中对比了现有技术的图像对比度增强的过程和本技术实施例提供的图像对比度增强的过程,如图15所示,场景(1)表示现有技术中图像对比度增强的过程,根据第i-n帧图像计算增强系数,根据计算得到的增强系数直接对第i帧图像进行图像对比度增强;而在场景(2)中电子设备预测第二图像相
对于第一图像的像素偏移,根据所述第i-n帧图像计算第二增强系数,根据像素偏移对第二增强系数进行空间变换,得到第一增强系数并存储在内部存储模块,isp根据第一增强系数矫正第二图像的对比度。根据以上过程可知,本技术实施例提供的图像处理装置,通过根据像素的空间位置变化矫正增强系数,可以使得增强系数和第二图像的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0301]
图16示出根据本技术一实施例的应用场景的示意图。图16中对比了现有技术的图像对比度增强的过程和本技术实施例提供的图像对比度增强的过程,如图16所示,场景(1)表示现有技术中图像对比度增强的过程,根据第i-n帧图像计算增强系数,根据计算得到的增强系数直接对第i帧图像进行图像对比度增强;而在场景(2)中电子设备预测第i帧图像相对于第i-n图像的像素偏移,根据像素偏移对第i-n图像进行空间变换得到图16所示的中间图像(第三图像),根据所述中间图像计算第一增强系数并存储在内部存储模块,isp根据第一增强系数对第二图像进行图像对比度增强处理。根据以上过程可知,本技术实施例提供的图像处理装置,通过根据像素的空间位置变化矫正第一图像,并根据矫正后的第一图像计算增强系数,可以使得增强系数和第二图像的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0302]
图17示出根据本技术一实施例的应用场景的示意图。如图17所示,场景(1)表示现有技术中图像对比度增强的过程,根据第i-n帧图像计算增强系数,根据计算得到的增强系数直接对第i帧图像进行图像对比度增强;而在场景(2)中电子设备预测得到第二图像相对于第一图像的像素偏移,可以判断历史位姿预测精度是否满足精度条件,如果满足精度条件,电子设备可以根据像素偏移矫正第二增强系数得到第一增强系数,isp根据第一增强系数对第二图像进行图像对比度增强处理。
[0303]
如果终端判断历史位姿预测精度不满足精度条件,则电子设备可以根据预测得到的位姿差异与真实位姿差异的误差调整之后预测未来图像位姿的过程。
[0304]
本技术提供的实施方式中,预测像素偏移的过程可以通过神经网络模型实现,也可以通过其他预测模型实现,可以根据后端反馈的预测得到的位姿差异与真实位姿差异的误差调整神经网络模型的参数或者调整其他预测模型的参数,实现对后续预测过程的调整。
[0305]
根据以上过程可知,本技术实施例提供的图像处理装置,通过预测的结果反馈调节预测的过程,可以进一步提高预测的准确度,从而使得增强系数和作用帧的空间偏差尽量减小,从而减小帧间差异,提高增强效果。
[0306]
本技术的实施例提供了一种图像处理装置,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述方法。
[0307]
本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
[0308]
本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
[0309]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储
设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(electrically programmable read-only-memory,eprom或闪存)、静态随机存取存储器(static random-access memory,sram)、便携式压缩盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能盘(digital video disc,dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0310]
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0311]
用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(instruction set architecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(local area network,lan)或广域网(wide area network,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,fpga)或可编程逻辑阵列(programmable logic array,pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。
[0312]
这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0313]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0314]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的
指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0315]
附图中的流程图和框图显示了根据本技术的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
[0316]
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或asic(application specific integrated circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
[0317]
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0318]
以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1