拍照方法、装置、介质和终端设备与流程

文档序号:30428731发布日期:2022-06-15 16:08阅读:100来源:国知局
拍照方法、装置、介质和终端设备与流程

1.本发明涉及图像处理技术领域,尤其涉及一种拍照方法、装置、介质和终端设备。


背景技术:

2.目前,目前相机已经成为手机不可或缺的一部分,对相机性能的要求也越来越高。为了优化相机性能,目前会在软件实现中叠加进行各种图像处理算法,但是随着图像处理算法的叠加,流程维护的成本也开始变得越来越大,每一套图像处理算法的引入都需要一套额外的控制流和数据流,这无疑成为算法集成的瓶颈。但为了提升图像质量依然会集成多种图像处理算法,使得拍照过程无论是时间复杂度和空间复杂度变得很高。
3.因此,当前迫切需求一种拍照方法,简化图像处理算法的复杂度,以改善拍照效果。


技术实现要素:

4.本发明实施例提供一种拍照方法、装置、介质和终端设备,用以简化图像处理算法的复杂度。
5.第一方面,本发明实施例提供一种拍照方法,该方法包括:获取摄像头所采集的m帧预览图像;根据所述摄像头的曝光参数和图像信息,从所述m帧预览图像中选择n帧预览图像,以及从所述n帧预览图像确定关键帧图像,将所述n帧预览图像中除了所述关键帧图像之外的所述n-1帧预览图像与所述关键帧图像进行位对齐,得到n帧候选图像;对所述n帧候选图像进行排序,以及对排序后的n帧候选图像执行图像处理算法算法,得到目标图像。
6.本发明实施例提供的拍照方法的有益效果在于:本发明在对图像帧执行图像处理算法算法之前,先从预览图像中选择需要帧数量的图像帧和关键帧,并且利用关键帧对其它图像帧进行位对齐的预处理,实现动态调整待传送至图像处理算法的图像帧数量,另外对待传送至图像处理算法的图像帧进行预处理,进而达到优化最终相机成像效果的目的。
7.在一种可能的实现方案中,将所述n帧预览图像中除了所述关键帧图像之外的所述n-1帧预览图像与所述关键帧图像进行位对齐,得到n帧候选图像,包括:针对所述n帧预览图像中除了所述关键帧图像之外的所述n-1帧预览图像中的第k帧图像,所述第k帧图像为任意一帧图像,执行如下处理:
8.提取所述第k帧图像和所述关键帧图像的特征点;对所述第k帧图像的特征点和所述关键帧图像的特征点进行匹配;根据匹配结果调整所述第k帧图像和所述关键帧图像之间的对应关系,得到变换参数;通过所述变换参数将所述第k帧图像的空间布局调整与所述关键帧图像的空间布局一致。该实现方案中,按照上述方法可以实现对图像帧进行位对齐,减小图像帧之间的图像差异,以助于提高最终的图像优化效果。
9.在一种可能的实现方案中,根据所述摄像头的曝光参数,从所述m帧预览图像中选择n帧预览图像,以及从所述n帧预览图像确定关键帧图像,包括:
10.确定所述m帧预览图像中的起始帧预览图像和结束帧预览图像;按照从结束帧预
览图像往起始帧预览图像进行遍历的顺序,从所述m帧预览图像中选择n帧预览图像,以及从所述n帧预览图像确定关键帧图像。
11.在一种可能的实现方案中,对所述n帧候选图像进行排序,包括:根据图像处理算法需求,对所述n帧候选图像进行排序。该实现方案中可以根据图像处理算法需求完成
12.在一种可能的实现方案中,所述曝光参数包括曝光时长、感光度和曝光补偿值中的一个或多个,所述图像信息包括亮度信息和颜色信息中的一个或多个。
13.第二方面,本发明实施例还提供一种拍照装置,该该装置包括执行上述第一方面的任意一种可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
14.第三方面,本技术实施例提供一种终端设备,包括处理器和存储器。其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该终端设备能够实现上述第一方面的任意一种可能的设计的方法。
15.第四方面,本技术实施例中还提供一种计算机可读存储介质,计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行上述第一方面的任意一种可能的设计的方法。
16.第五方面,本技术实施例还提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述电子设备执行上述第一方面的任意一种可能的设计的方法。
17.关于上述第二方面至第五方面的有益效果可以参见上述第一方面中的描述。
附图说明
18.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1为本发明实施例提供的一种终端设备结构示意图;
20.图2为本发明实施例提供的一种拍照方法流程示意图;
21.图3为本发明实施例提供的一种图像处理流程的示意图;
22.图4为本发明实施例提供的一种拍照场景下的图像处理方法流程示意图;
23.图5为本发明实施例提供的一种拍照效果示意图;
24.图6为本发明实施例提供的一种拍照装置流程示意图;
25.图7为本发明实施例提供的另一种终端设备结构示意图。
具体实施方式
26.在详细介绍本发明实施例之前,以下先对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
27.目前图像处理算法种类较多、且各种算法需要帧的类型、算法实现的功能以及算法的处理能力各不相同。例如图像处理算法有高动态范围成像算法(high-dynamic range,hdr)、多帧融合降噪算法(multi-frame noise reduction,mfnr)。其中,高动态范围成像算法和多帧融合降噪算法均需要固定帧数量的图像帧,且所需要的帧数量不同,因每一套图
像处理算法都需要一套额外的控制流和数据流,使得拍照过程无论是时间复杂度和空间复杂度变得很高。本发明提出了一种拍照方法,可改善拍照效果,简化代码实现的复杂度。
28.下面结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其中,在本技术实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本技术以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
29.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
30.在本技术实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
31.本技术实施例中所提供的拍照方法可以应用于如图1所示的终端设备,图1示出了该终端设备100的硬件配置框图。
32.在一些实施例中,终端设备100包括调谐解调器110、通信器120、采集器130、外部装置接口140、控制器150、显示器160、音频输出接口170、存储器、供电电源、用户接口中的至少一种。
33.在一些实施例中,显示器160包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控界面等。
34.在一些实施例中,显示器160可为液晶显示器、有机电激光显示器(organic light-emitting diode,oled)、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
35.在一些实施例中,调谐解调器110通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号。
36.在一些实施例中,通信器120是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。一种可能的实施例中,通信器可以包括无线保真(wireless fidelity,wifi)模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以
及红外接收器中的至少一种。终端设备100可以通过通信器120与其它设备建立控制信号和数据信号的发送和接收。
37.在一些实施例中,采集器130用于采集外部环境或与外部交互的信号。一种可能的实施例中,采集器130包括光接收器,用于采集环境光线强度的传感器;或者采集器130包括图像采集器,用于采集外部环境场景、用户的属性或用户交互手势;再或者采集器130包括声音采集器,用于接收外部声音。
38.在一些实施例中,外部装置接口140可以包括但不限于如下:高清多媒体接口接口、模拟或数据高清分量输入接口、复合视频输入接口、通用串行总线(universal serial bus,usb)输入接口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
39.在一些实施例中,控制器150,通过存储在存储器上中各种软件控制程序,来控制终端设备100的工作和响应用户的操作。控制器150控制终端设备100的整体操作。一种可能的实施例中,响应于接收到用于选择在显示器160上显示对象的用户命令,控制器150便可以执行与由用户命令选择的对象有关的操作。
40.在一些实施例中,所述对象可以是可选对象中的任何一个。一种可能的实施例中,所述对象可以是超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
41.在一些实施例中控制器包括中央处理器(central processing unit,cpu)、视频处理器、音频处理器、图形处理器(graphics processing unit,gpu)、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、用于输入/输出的第一接口至第n接口、通信总线(bus)等中的至少一种。
42.中央处理器,用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。中央处理器,可以包括多个处理器。一种可能的实施例中,中央处理器包括一个主处理器以及一个或多个子处理器。
43.在一些实施例中,图形处理器,用于产生各种图形对象。一种可能的实施例中,各种图形对象包括图标、操作菜单、以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
44.在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可终端设备100上显示或播放的信号。
45.在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,用于将图形生成器根据用户输入或自身生成的图形用户界面(graphical user interface,gui)信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于
将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号。一种可能的实施例中,显示格式化模块输出rgb数据信号。
46.在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。
47.在一些实施例中,用户可在显示器160上显示的图形用户界面输入用户命令,则用户输入接口通过图形用户界面接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
48.在一些实施例中,用户界面是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面,是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏等可视的界面元素中的至少一种。
49.在一些实施例中,用户接口180,为可用于接收控制输入的接口。一种可能实施例中,用户接口180可以是终端设备本体上的实体按键。
50.在一种可能的实现方案中,上述终端设备100可以为手机、平板电脑、手持计算机、个人电脑(personal computer,pc)、蜂窝电话、个人数字助理(personal digital assistant,pda)、可穿戴式设备、智能家居设备,车载电脑、游戏机或增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备中任意一种。值得说明的是,本实施例对终端设备100的具体设备形态并不作具体限制。
51.基于图1所示的终端设备100,本技术实施例提供了一种拍照方法的流程图,如图2所示,该方法的流程可以由终端设备100执行,该方法包括以下步骤:
52.s201,获取摄像头所采集的m帧预览图像。
53.该步骤中,当终端设备100启动拍照功能时,终端设备100可以采集预设时间段内摄像头所采集的m帧预览图像,预设时间段的时长可以是3秒至5秒。在本实施例中,所述预览图像是拍照功能界面所显示的预览画面。
54.s202,根据所述摄像头的曝光参数和图像信息,从所述m帧预览图像中选择n帧预览图像,以及从所述n帧预览图像确定关键帧图像。
55.一种可能的实施例中,可以先确定所述m帧预览图像中的起始帧预览图像和结束帧预览图像;然后按照从结束帧预览图像往起始帧预览图像进行遍历的顺序,从所述m帧预览图像中选择n帧预览图像,以及从所述n帧预览图像确定关键帧图像。所谓关键帧图像可以是满足曝光和白平衡需要,且效果最好的图像。
56.本实施例中,所述曝光参数包括曝光时长、感光度和曝光补偿值中的一个或多个,所述图像信息包括亮度信息和颜色信息中的一个或多个。可选地,图像信息还可以包括图像尺寸和图像分辨率信息。
57.s203,将所述n帧预览图像中除了所述关键帧图像之外的所述n-1帧预览图像与所述关键帧图像进行位对齐,得到n帧候选图像。
58.该步骤中,一种可能的实现方式中,针对所述n帧预览图像中除了所述关键帧图像
之外的所述n-1帧预览图像中的第k帧图像,所述第k帧图像为任意一帧图像,通过执行如下处理完成位对齐:提取所述第k帧图像和所述关键帧图像的特征点;对所述第k帧图像的特征点和所述关键帧图像的特征点进行匹配;根据匹配结果调整所述第k帧图像和所述关键帧图像之间的对应关系,得到变换参数;通过所述变换参数将所述第k帧图像的空间布局调整与所述关键帧图像的空间布局一致。该实现方法可以尽可能的缩小n帧图像帧之间的差异,有助于优化图像成像效果。
59.s204,对所述n帧候选图像进行排序,以及对排序后的n帧候选图像执行图像处理算法算法,得到目标图像。
60.一种可能的实施例中,对所述n帧候选图像进行排序的方式可以是:如图3所示,当摄像机的图像传感器采集了多帧预览图像,之后选择出关键帧,之后对关键帧和其它帧进行位对齐,根据所述图像处理算法的特点,对所述n帧候选图像进行排序,得到排序后的n帧候选图像,将n帧候选图像执行图像处理算法,可以得到目标图像。该方法通过对n帧候选图像进行排序,可以控制输入至图像处理算法的帧数以及输入帧的顺序,以期达到较好的算法处理效果,另外又以不同帧数进行组合,可以使得算法控制变得简单高效,从而提高图像处理算法的图像处理效果。可选地,图像处理算法包括如下任意一种或多种:自动白平衡、自动镜头阴影矫正、自动曝光、彩噪去除、亮度噪声去除、人脸检测、多帧去噪、高动态范围、全动态范围、动态范围增强或全局亮度映射。
61.针对终端设备的拍照过程,结合图4来说,在正常拍照时,受杂光影响,相机成像会有波纹及背景偏色等问题,为了改善上述问题,需要进行图像算法的优化处理,本实施例在执行图像处理算法算法之前,先从硬件层(kernel/hw)中的图像传感器所采集的多帧预览图像中选择出n帧预览图像和关键帧,关键帧可以是n帧预览图像中曝光和白平衡效果最好的部分,之后抽象层(hal/oem)再利用捕捉回调函数对选择的n帧预览图像进行位对齐,即可按照关键帧所对应的亮度和颜色进行曝光和白平衡优化,以求图像曝光亮度均匀和色彩均匀。之后,抽象层(hal/oem)再对经过优化的n帧候选图像进行排序,适配层(adapter/algos)再选择对应的图像处理算法,也可以根据图像处理算法对n帧候选图像重新进行排序,然后执行图像处理算法算法,生成目标图像。一方面,该方法能够动态调整待传送至图像处理算法的图像帧数量;另一方面,该方法对待传送至图像处理算法的图像帧进行预处理,进而达到优化最终相机成像效果的目的。示例性地,如图5所示,若图像处理算法是动态范围增强算法,本实施例先经过上述预处理,再执行动态范围增强算法,用户看到的预览图像如图5中(a)所示,当用户点击拍照,拍照界面显示最终的拍照画面如图5中的(b)所示。对比可见,处于移动的飞虫的图像被增强。
62.在本技术的一些实施例中,本技术实施例还公开了一种拍照装置,如图6所示,该装置用于实现以上各个方法实施例中记载的方法,其包括:获取单元601,用于获取摄像头所采集的m帧预览图像;选择单元602,用于根据所述摄像头的曝光参数和图像信息,从所述m帧预览图像中选择n帧预览图像,以及从所述n帧预览图像确定关键帧图像,其中,m大于或等于n,m和n均为正整数;位对齐单元603,用于将所述n帧预览图像中除了所述关键帧图像之外的所述n-1帧预览图像与所述关键帧图像进行位对齐,得到n帧候选图像。排序单元604,用于对所述n帧候选图像进行排序;处理单元605,用于对排序后的n帧候选图像执行图像处理算法,得到目标图像。
63.上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
64.在本技术的另一些实施例中,本技术实施例公开了一种终端设备100,如图7所示,该终端设备700可以包括:一个或多个处理器701;存储器702;显示器703;一个或多个应用程序(未示出);以及一个或多个计算机程序704,上述各器件可以通过一个或多个通信总线705连接。其中该一个或多个计算机程序704被存储在上述存储器702中并被配置为被该一个或多个处理器701执行,该一个或多个计算机程序704包括指令,上述指令可以用于执行如图2至图4相应实施例中的各个步骤。
65.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
66.在本技术实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
67.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
68.以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1