本技术涉及图像处理领域,具体涉及一种图像防抖方法与电子设备。
背景技术:
1、随着电子设备中拍摄功能的发展,相机应用程序在电子设备中的应用越来越广泛。目前,由于摄像头的硬件限制,导致摄像头的视场角存在一定局限;当用户拍摄远距离物体时,一般需要使用长焦摄像头,然而长焦摄像头的视场角在一定局限,无法满足用户在不同场景的拍摄需要。为了克服该局限,需要实现摄像头的灵活运动;同时,摄像头运动后,若采用现有的防抖方法进行图像防抖处理,则图像防抖效果较差。
2、因此,在电子设备中摄像头实现灵活运动的情况下,如何进行图像防抖处理,提高图像的防抖效果成为一个亟需解决的问题。
技术实现思路
1、本技术提供了一种图像防抖方法与电子设备,能够电子设备中摄像头实现灵活运动的情况下,提高图像的防抖效果。
2、第一方面,提供了一种图像防抖方法,应用于电子设备,所述电子设备包括第一摄像头,所述第一摄像头为可移动摄像头,所述方法包括:
3、开启相机应用程序;
4、获取第一图像、第一偏移量与第一角度数据;其中,所述第一图像为所述第一摄像头实时采集的图像,所述第一偏移量用于表征采集所述第一图像时所述第一摄像头的镜头中心与成像中心之间的偏移量,所述第一角度数据为采集所述第一图像时,所述电子设备中陀螺仪传感器的数据;
5、将所述第一图像的第一偏移量转换为所述第一图像的第二角度数据;
6、基于所述第一图像的第二角度数据与所述第一图像的第一角度数据,得到所述第一图像的第三角度数据,所述第三角度数据用于表征采集所述第一图像时,所述电子设备与所述第一摄像头的运动量;
7、基于所述第一图像的第三角度数据对所述第一图像进行防抖处理,得到第二图像。
8、在本技术的实施例中,电子设备中包括可移动摄像头,通过可移动摄像头的运动,可以克服长焦摄像头的视场角在一定局限,满足不同拍摄场景的需求;在电子设备中摄像头实现灵活运动的情况下,在本技术的方案中,可以将可移动摄像头在x方向和/或y方向的平移量转换为陀螺仪传感器可识别的旋转量,得到第一图像的第三角度数据,第三角度数据可以表征采集第一图像时,电子设备与第一摄像头的运动量;通过第一图像的第三角度数据对第一图像进行防抖处理;由于摄像头运动可以包括电子设备的运动与可移动摄像头的运动;在可移动摄像头运动时,电子设备中的陀螺仪传感器无法检测到可移动摄像头的运动;与现有方案中,直接采用陀螺仪传感器的数据进行防抖处理相比,本技术的方案能够将陀螺仪传感器无法识别的可移动摄像头的运动转换为陀螺仪传感器能够识别的旋转量,准确地识别电子设备的运动;基于电子设备与第一摄像头的运动量,对第一图像进行防抖处理,得到第二图像,从而提高图像的防抖效果。
9、结合第一方面,在第一方面的某些实现方式中,所述第一图像为第一图像流中的任意一帧图像,所述第一图像流包括m帧图像;所述基于所述第一图像的第三角度数据对所述第一图像进行防抖处理,得到第二图像,包括:
10、基于所述第一图像的第三角度数据与所述第一图像的虚拟角度的差值,得到第一相机外参矩阵,所述第一图像的虚拟角度数据为对所述m帧图像的第三角度数据进行第一路径平滑处理后得到的虚拟角度数据,m为大于1的整数;
11、基于所述第一相机外参矩阵与标准相机内参矩阵,得到第一旋转校正矩阵,所述第一旋转校正矩阵用于校正在采集所述第一图像时,所述电子设备与所述第一摄像头的旋转运动;
12、基于所述第一旋转校正矩阵与所述第一图像中的像素点相乘,得到所述第二图像。
13、在一种可能的实现方式,第一路径平滑处理包括滤波处理与求解器处理;其中,求解器处理的目标函数为使得m帧图像的第三角度数据在平滑前后的差值较小。
14、在本技术的实施例中,通过第一图像的第三角度数据与第一图像的虚拟角度的差值,得到第一相机外参矩阵,第一相机外参矩阵为基于可移动摄像头的运动得到的相机外参;通过第一相机外参与第一图像中的像素点相乘,可以得到第二图像;由于在进行防抖处理时,基于可移动摄像头的运动得到的相机外参,因此在进行防抖处理时可以考虑可移动摄像头的运动引入的图像抖动,从而提高图像防抖效果。
15、结合第一方面,在第一方面的某些实现方式中,所述第一图像为第一图像流中的任意一帧图像,所述第一图像流包括m帧图像;所述基于所述第一图像的第三角度数据对所述第一图像进行防抖处理,得到第二图像,包括:
16、基于所述第一图像的第三角度数据与所述第一图像的虚拟角度的差值,得到第一相机外参矩阵,所述第一图像的虚拟角度数据为对所述m帧图像的第三角度数据进行第一路径平滑处理后得到的虚拟角度数据,m为大于1的整数;
17、基于所述第一相机外参矩阵与标准相机内参矩阵,得到第一旋转校正矩阵,所述第一旋转校正矩阵用于校正在采集所述第一图像时,所述电子设备与所述第一摄像头的旋转运动;
18、基于所述第一旋转校正矩阵与所述第一图像的特征点相乘,得到映射后的特征点;
19、基于所述第一图像的特征点与所述映射后的特征点的差值,得到第一平移补偿量,所述第一平移补偿量用于校正在采集所述第一图像时,所述电子设备与所述第一摄像头的平移运动;
20、基于所述第一旋转校正矩阵与所述第一平移补偿量对所述第一图像进行所述防抖处理,得到所述第二图像。
21、在一种可能的实现方式,第一路径平滑处理包括滤波处理与求解器处理;其中,求解器处理的目标函数为使得m帧图像的第三角度数据在平滑前后的差值较小。
22、在本技术的实施例中,通过第一图像的第三角度数据与第一图像的虚拟角度的差值,得到第一相机外参矩阵,第一相机外参矩阵为基于可移动摄像头的运动得到的相机外参;由于可移动摄像头的运动包括旋转运动与平移运动,第一旋转校正矩阵用于校正可移动摄像头的旋转运动;在本技术的方案中,通过第一平移补偿量可以校正可移动摄像头的平移运动;在对第一图像进行防抖处理过程中,通过第一旋转校正矩阵可以对旋转运动进行校正;通过第一平移补偿量可以对平移运动进行校正;因此,本技术的方案中进行防抖处理时,可以对平移运动与旋转运动均进行校正,提高图像的防抖效果。
23、结合第一方面,在第一方面的某些实现方式中,所述基于所述第一旋转校正矩阵与所述第一平移补偿量对所述第一图像进行所述防抖处理,得到所述第二图像,包括:
24、将所述处理后的第一图像的像素点与所述第一旋转校正矩阵相乘,得到处理后的第一图像;
25、基于所述处理后的第一图像与所述第一平移补偿量,得到所述第二图像。
26、结合第一方面,在第一方面的某些实现方式中,所述第一平移补偿量为所述第一图像的虚拟平移补偿量,所述第一图像的虚拟平移补偿量为对所述m帧图像的平移补偿量进行第二路径平滑处理后得到的平移补偿量。
27、结合第一方面,在第一方面的某些实现方式中,所述将所述第一图像的第一偏移量转换为所述第一图像的第二角度数据,包括:
28、基于所述第一图像的第一偏移量与第一相距的比值,得到正切值,所述第一相机用于表征采集所述第一图像时,所述电子设备与拍摄对象之间的距离;
29、基于所述正切值,得到所述第二角度数据。
30、结合第一方面,在第一方面的某些实现方式中,所述获取第一图像、第一偏移量与第一角度数据,包括:
31、通过所述电子设备的相机驱动获取所述第一偏移量。
32、结合第一方面,在第一方面的某些实现方式中,所述第一摄像头包括可移动长焦摄像头。
33、第二方面,提供了一种电子设备,所述电子设备包括:一个或多个处理器、存储器和第一摄像头,第一摄像头为可移动摄像头;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备置执行:
34、开启相机应用程序;
35、获取第一图像、第一偏移量与第一角度数据;其中,所述第一图像为所述第一摄像头实时采集的图像,所述第一偏移量用于表征采集所述第一图像时所述第一摄像头的镜头中心与成像中心之间的偏移量,所述第一角度数据为采集所述第一图像时,所述电子设备中陀螺仪传感器的数据;
36、将所述第一图像的第一偏移量转换为所述第一图像的第二角度数据;
37、基于所述第一图像的第二角度数据与所述第一图像的第一角度数据,得到所述第一图像的第三角度数据,所述第三角度数据用于表征采集所述第一图像时,所述电子设备与所述第一摄像头的运动量;
38、基于所述第一图像的第三角度数据对所述第一图像进行防抖处理,得到第二图像。
39、结合第二方面,在第二方面的某些实现方式中,所述第一图像为第一图像流中的任意一帧图像,所述第一图像流包括m帧图像;所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行:
40、基于所述第一图像的第三角度数据与所述第一图像的虚拟角度的差值,得到第一相机外参矩阵,所述第一图像的虚拟角度数据为对所述m帧图像的第三角度数据进行第一路径平滑处理后得到的虚拟角度数据,m为大于1的整数;
41、基于所述第一相机外参矩阵与标准相机内参矩阵,得到第一旋转校正矩阵,所述第一旋转校正矩阵用于校正在采集所述第一图像时,所述电子设备与所述第一摄像头的旋转运动;
42、基于所述第一旋转校正矩阵与所述第一图像中的像素点相乘,得到所述第二图像。
43、结合第二方面,在第二方面的某些实现方式中,所述第一图像为第一图像流中的任意一帧图像,所述第一图像流包括m帧图像;所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行:
44、基于所述第一图像的第三角度数据与所述第一图像的虚拟角度的差值,得到第一相机外参矩阵,所述第一图像的虚拟角度数据为对所述m帧图像的第三角度数据进行第一路径平滑处理后得到的虚拟角度数据,m为大于1的整数;
45、基于所述第一相机外参矩阵与标准相机内参矩阵,得到第一旋转校正矩阵,所述第一旋转校正矩阵用于校正在采集所述第一图像时,所述电子设备与所述第一摄像头的旋转运动;
46、基于所述第一旋转校正矩阵与所述第一图像的特征点相乘,得到映射后的特征点;
47、基于所述第一图像的特征点与所述映射后的特征点的差值,得到第一平移补偿量,所述第一平移补偿量用于校正在采集所述第一图像时,所述电子设备与所述第一摄像头的平移运动;
48、基于所述第一旋转校正矩阵与所述第一平移补偿量对所述第一图像进行所述防抖处理,得到所述第二图像。
49、结合第二方面,在第二方面的某些实现方式中,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行:
50、将所述处理后的第一图像的像素点与所述第一旋转校正矩阵相乘,得到处理后的第一图像;
51、基于所述处理后的第一图像与所述第一平移补偿量,得到所述第二图像。
52、结合第二方面,在第二方面的某些实现方式中,所述第一平移补偿量为所述第一图像的虚拟平移补偿量,所述第一图像的虚拟平移补偿量为对所述m帧图像的平移补偿量进行第二路径平滑处理后得到的平移补偿量。
53、结合第二方面,在第二方面的某些实现方式中,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行:
54、基于所述第一图像的第一偏移量与第一相距的比值,得到正切值,所述第一相机用于表征采集所述第一图像时,所述电子设备与拍摄对象之间的距离;
55、基于所述正切值,得到所述第二角度数据。
56、结合第二方面,在第二方面的某些实现方式中,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行:
57、通过所述电子设备的相机驱动获取所述第一偏移量。
58、结合第二方面,在第二方面的某些实现方式中,所述第一摄像头包括可移动长焦摄像头。
59、应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第二方面中相同的内容。
60、第三方面,提供了一种电子设备,所述电子设备包括:一个或多个处理器、存储器和显示屏;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行第一方面中的任一种图像防抖方法。
61、第四方面,提供了一种芯片系统,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行第一方面中的任一种图像防抖方法。
62、第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被电子设备运行时,使得该电子设备执行第一方面中的任一种图像防抖方法。
63、第六方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被电子设备运行时,使得该电子设备执行第一方面中的任一种图像防抖方法。
64、在本技术的实施例中,电子设备中包括可移动摄像头,通过可移动摄像头的运动,可以克服长焦摄像头的视场角在一定局限,满足不同拍摄场景的需求;在电子设备中摄像头实现灵活运动的情况下,在本技术的方案中,可以将可移动摄像头在x方向和/或y方向的平移量转换为陀螺仪传感器可识别的旋转量,得到第一图像的第三角度数据,第三角度数据可以表征采集第一图像时,电子设备与第一摄像头的运动量;通过第一图像的第三角度数据对第一图像进行防抖处理;由于摄像头运动可以包括电子设备的运动与可移动摄像头的运动;在可移动摄像头运动时,电子设备中的陀螺仪传感器无法检测到可移动摄像头的运动;与现有方案中,直接采用陀螺仪传感器的数据进行防抖处理相比,本技术的方案能够将陀螺仪传感器无法识别的可移动摄像头的运动转换为陀螺仪传感器能够识别的旋转量,准确地识别电子设备的运动;基于电子设备与第一摄像头的运动量,对第一图像进行防抖处理,得到第二图像,从而提高图像的防抖效果。