图像数据的采集方法、终端设备及介质与流程

文档序号:21599708发布日期:2020-07-24 16:50阅读:264来源:国知局
图像数据的采集方法、终端设备及介质与流程

本发明属于移动终端技术领域,尤其涉及一种图像数据的采集方法、终端设备及计算机可读存储介质。



背景技术:

在运行安卓系统的终端设备中,若用户想要采集外界的图像数据,则通常会先启动一个相机应用程序,以在终端显示屏上生成一个前台可见的预览界面。通过查看预览界面所实时渲染的图像,用户可发出确认拍摄指令,从而采集得到自身所需的图像数据。

然而,在图像采集拍摄的过程中,若用户想要操控终端设备中的其他应用程序,则其只能将相机应用程序暂时移动到后台运行。此时,安卓系统将会临时关闭该相机应用程序,使得用户无法同时执行图像数据的采集操作,因此,降低了相机应用程序的交互能力。



技术实现要素:

有鉴于此,本发明实施例提供了一种图像数据的采集方法、终端设备及计算机可读存储介质,以解决现有图像数据的采集方式中,相机应用程序的交互能力较低的问题。

本发明实施例的第一方面提供了一种图像数据的采集方法,包括:

当相机应用程序切换至后台运行时,创建可见度低于第一阈值的对象区域,并在所述对象区域中加载显示控件;

创建与所述相机应用程序关联的图像预览请求,将所述图像预览请求与所述显示控件进行绑定;

通过所述显示控件所绑定的所述图像预览请求,在所述对象区域中展示摄像头所拍摄得到的各帧图像数据;

若接收到用户发出的图像拍摄指令,则创建图像控件及其所绑定的图像拍摄请求;所述图像控件用于根据检测到的所述图像拍摄请求,调用所述显示控件所实时读取到的所述图像数据;

对所述图像控件所调用的所述图像数据进行存储。

本发明实施例的第二方面提供了一种图像数据的采集装置,包括:

第一创建单元,用于当相机应用程序切换至后台运行时,创建可见度低于第一阈值的对象区域,并在所述对象区域中加载显示控件;

第二创建单元,用于创建与所述相机应用程序关联的图像预览请求,将所述图像预览请求与所述显示控件进行绑定;

展示单元,用于通过所述显示控件所绑定的所述图像预览请求,在所述对象区域中展示摄像头所拍摄得到的各帧图像数据;

第三创建单元,用于若接收到用户发出的图像拍摄指令,则创建图像控件及其所绑定的图像拍摄请求;所述图像控件用于根据检测到的所述图像拍摄请求,调用所述显示控件所实时读取到的所述图像数据;

存储单元,用于对所述图像控件所调用的所述图像数据进行存储。

本发明实施例的第三方面提供了一种终端设备,包括存储器以及处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述图像数据的采集方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现如上述图像数据的采集方法的步骤。

本发明实施例中,通过在相机应用程序切换至后台运行时,创建可见度低于第一阈值的对象区域,并在对象区域中加载显示控件,通过显示控件所绑定的图像预览请求,在对象区域中展示摄像头所拍摄得到的各帧图像数据,使得各帧图像数据的可见度也低于上述第一阈值,实现了相机应用程序的预览画面在肉眼不可见的情况之下,实际仍然能够运行于前台的对象区域中,因此,避免了安卓系统自动关闭相机应用程序,由此也保证了用户能够在前台界面操控其他非相机业务的应用程序的同时,还能够使用相机应用程序所提供的图像数据采集功能,故提高了相机应用程序的交互能力。

附图说明

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

图1是本发明实施例提供的图像数据的采集方法的实现流程图;

图2是本发明另一实施例提供的图像数据的采集方法的实现流程图;

图3是本发明实施例提供的图像数据的采集方法s101的具体实现流程图;

图4是本发明另一实施例提供的图像数据的采集方法s101的具体实现流程图;

图5是本发明又一实施例提供的图像数据的采集方法s101的具体实现流程图;

图6是本发明实施例提供的图像数据的采集装置的结构框图;

图7是本发明实施例提供的终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1示出了本发明实施例提供的图像数据的采集方法的实现流程,本方法适用于运行有相机应用程序的终端设备,包括但不限于手机、平板以手提电脑等携带摄像头的各类移动终端。上述方法流程包括步骤s101至s105。各步骤的具体实现原理如下:

s101:当相机应用程序切换至后台运行时,创建可见度低于第一阈值的对象区域,并在所述对象区域中加载显示控件。

本发明实施例中,相机应用程序用于启动终端设备的摄像头,并根据预设的各类相机参数,控制终端设备执行拍摄操作。当检测到用户对相机应用程序发出的选取指令时,启动相机应用程序。此时,相机应用程序运行于前台界面。若检测到用户临时退出相机应用程序,或者,因响应中断事件而进入其他应用程序,则相机应用程序将切换至后台运行。

例如,若在相机应用程序的运行过程中,移动终端接收到来电呼叫请求,则在来电接听的过程中,相机应用程序将会切换至后台运行,此时移动终端的前台运行程序为电话呼叫程序。

本发明实施例中,当相机应用程序切换至后台运行时,创建可见度低于第一阈值的对象区域。通过activity组件,加载预设的显示控件,并将显示控件展示于对象区域中。上述显示控件具体可以是textureview、surfaceview以及surfacetexture等带有view显示界面的控件,其用于获取摄像头所拍摄的各帧图像数据,并对该图像数据进行实时预览展示。其中,显示控件的长宽值与对象区域的长宽值相同,以使显示控件填充至对象区域中。

上述对象区域的可见度用于衡量人类肉眼对对象区域所包含内容的清晰查看程度。对象区域的可见度可根据对象区域的透明度和/或尺寸值来确定。其中,第一阈值为人类肉眼能够清晰观看对象区域时的可见度最小值,其根据开发人员所录入的测试经验值来确定。

s102:创建与所述相机应用程序关联的图像预览请求,将所述图像预览请求与所述显示控件进行绑定。

s103:通过所述显示控件所绑定的所述图像预览请求,在所述对象区域中展示摄像头所拍摄得到的各帧图像数据。

在相机应用程序运行时(包括前台运行以及后台运行),获取预存储的各项相机参数并启动预置于终端设备的摄像头。相机参数包括拍摄图像的宽度像素、高度像素、图像格式以及允许读取的图像数量等,可从相机应用程序的默认配置文件中读取,也可根据用户发出的设置指令来进行确定,在此不作限定。

基于当前启动的相机应用程序,创建图像预览请求,以通过该图像预览请求来获取摄像头所实时拍摄得到的各帧图像数据。将上述加载的显示控件与图像预览请求进行绑定。根据图像预览请求所绑定的显示控件,将图像预览请求所获取得到的各帧图像数据导入显示控件。

本发明实施例中,在显示控件存在于对象区域,且对象区域的可见度低于第一阈值的情况下,在终端设备的显示界面,仅在显示控件中渲染关于图像数据的预览界面。此时,预览界面的可见度同样低于第一阈值。因此,对于终端用户而言,其无法在终端界面中查看到上述预览界面。

s104:若接收到用户发出的图像拍摄指令,则创建图像控件及其所绑定的图像拍摄请求;所述图像控件用于根据检测到的所述图像拍摄请求,调用所述显示控件所实时读取到的所述图像数据。

s105:对所述图像控件所调用的所述图像数据进行存储。

本发明实施例中,当用户想要对任一时刻的景象进行图像摄取操作时,可点击终端设备所预先提供的拍摄按键,包括物理按键、虚拟按键以及手势按键等。其中,图像拍摄指令包括拍照指令以及视频录制指令。拍照指令用于捕获一帧图像数据,视频录制指令用于启动对连续多帧图像数据的录制操作。不同的拍摄按键预设对应不同的拍摄指令。

例如,若检测到用户长按音量加键,则确定用户需要对当前时刻的景象进行拍照,此时,终端设备将检测得到拍照指令。

若接收到用户发出的拍照指令,则创建图像控件imagereader,并将其与图像拍摄请求进行绑定。在当前时刻,相机应用程序基于其关联的图像控件imagereader,调用显示控件中的一帧图像数据。通过对该帧图像数据进行存储,实现图像拍照功能。

本发明实施例中,通过在相机应用程序切换至后台运行时,创建可见度低于第一阈值的对象区域,并在对象区域中加载显示控件,通过显示控件所绑定的图像预览请求,在对象区域中展示摄像头所拍摄得到的各帧图像数据,使得各帧图像数据的可见度也低于上述第一阈值,实现了相机应用程序的预览画面在肉眼不可见的情况之下,实际仍然能够运行于前台的对象区域中,因此,避免了安卓系统自动关闭相机应用程序,由此也保证了用户能够在前台界面操控其他非相机业务的应用程序的同时,还能够使用相机应用程序所提供的图像数据采集功能,故提高了相机应用程序的交互能力。

若接收到用户发出的视频录制指令,则作为本发明的另一个实施例,如图2所示,在上述s105之后,还包括:

s106:生成与所述相机应用程序关联的视频录制请求,并控制所述视频录制容器的接口层绑定所述视频录制请求,以通过所述视频录制容器的接口层,获取所述摄像头所拍摄得到的图像流数据。

s107:对所述视频录制容器中的所述图像流数据进行存储。

本发明实施例中,对于视频录制事件所预设对应的拍摄按键,若用户对该拍摄按键进行选取,则确定接收到用户发出的视频录制指令。此时,创建一个视频录制容器mediarecord,mediarecord用于访问相机应用程序所采集的视频数据。

基于当前启动的相机应用程序,创建视频录制请求,以通过该视频录制请求来获取摄像头所连续拍摄得到的视频数据。本发明实施例中,令视频录制容器的接口层surface与视频录制请求进行绑定,由此保证了视频录制请求所获取得到的视频数据能够存储至视频录制容器mediarecord。

在接收到视频录制指令之后,在接收到视频录制停止指令之前,相机应用程序调用视频录制容器mediarecord在该段时间内所读取的视频数据。通过对连续获得的视频数据进行存储,实现视频录制功能。

本发明实施例保证了用户在前台界面操控其他非相机业务的应用程序的同时,除了能够执行图像拍照之外,还能够使用相机应用程序所提供的视频数据录像功能,故也提高了相机应用程序的交互能力。

作为本发明的一个实施例,图3示出了本发明实施例提供的图像数据的采集方法s101的具体实现流程,详述如下:

s1011:当相机应用程序切换至后台运行时,创建包含显示控件的对话框。

s1012:分别设置所述对话框的长度小于第二阈值以及设置所述对话框的宽度小于第三阈值,以使所述对话框的可见度低于第一阈值。

当相机应用程序切换至后台运行时,在终端显示界面创建一个对话框,则该对话框作为上述实施例中的对象区域。对话框包括但不限于安卓系统预先建立的dialog控件以及开发人员自定义的dialog控件等。将相机应用程序所关联的显示控件填充至上述对话框中,并控制显示控件的长度以及宽度分别与对话框的长度以及宽度保持相同。

本发明实施例中,对对话框的长度以及宽度进行调整,包括:分别设置对话框的长度小于第二阈值以及设置对话框的宽度小于第三阈值,由此使得对话框在终端显示画面中所占据的区域面积低于预设阈值,以保证人眼看不到对话框中的显示控件,从而保证了上述对话框能够具备较低的可见度。

其中,在满足人类肉眼无法观看到对话框的前提条件之下,对话框的长度最大值以及宽度最大值分别为上述第二阈值以及第三阈值。第二阈值以及第三阈值可根据开发人员在开发测试过程中的经验值来确定。例如,第二阈值以及第三阈值可以为1px。

优选地,作为本发明的另一个实施例,如图4所示,在上述s1012之后,还包括:

s1013:当图像预览事件被触发时,获取所述对话框的初始尺寸参数。

s1014:分别将所述对话框的所述长度以及所述宽度调整为所述初始尺寸参数,以使所述对话框的所述可见度大于所述第一阈值。

用户可通过操控终端显示界面的功能按键或者手势按键来触发与相机应用程序相关的图像预览事件,以将当前时刻前台不可见的图像预览界面恢复至用户肉眼可见的状态后,在显示控件中对实时读取得到的图像数据进行展示。

特别地,除了用户主动触发图像预览事件之外,对于上面提到的例子,若在相机应用程序的运行过程中,移动终端接收到来电呼叫请求,则在来电接听的过程中,相机应用程序将会临时切换至后台运行;而在来电接听结束时,相机应用程序则会自动触发图像预览事件。

本发明实施例中,当图像预览事件被触发时,获取上述步骤s1011中所生成的对话框的初始尺寸参数,初始尺寸参数包括对话框的宽度初始值以及长度初始值。在终端设备的显示界面中,将当前时刻对话框的长度恢复为长度初始值,将对话框的宽度恢复为其宽度初始值,以使得对话框的可见度大于第一阈值。

其中,上述初始尺寸参数为对话框在人类肉眼可查看的状态下所具备的尺寸参数,可以是终端设备默认的出厂尺寸参数,也可以是开发人员预先设置的尺寸参数。

优选地,对话框的初始尺寸参数与终端设备的显示界面尺寸参数相同,以使得用户能够通过肉眼查看对话框中的显示控件的同时,图像预览数据能够以图像最大化的形式展示于显示控件中,从而提高了用户的拍摄体验,提升了图像预览画面的视觉效果。

本发明实施例中,由于dialog控件为系统常见控件,因而当相机应用程序切换至后台运行时,通过创建包含显示控件的对话框,并分别设置对话框的长度小于第二阈值以及设置对话框的宽度小于第三阈值,实现了对可见度低于第一阈值的对象区域的创建,增强了本发明所提供的图像数据的采集方法的可靠性,降低了实现难度;在用户有图像预览需求的情况下,通过触发图像预览事件,将对话框的长度以及宽度调整为初始尺寸参数,使得隐藏的图像预览界面能够迅速恢复,实现了图像预览界面的灵活切换,从而也提高了相机应用程序的交互能力。

作为本发明的又一个实施例,对对象区域的创建方式作进一步地限定。具体地,图5示出了本发明实施例提供的图像数据的采集方法s101的具体实现流程,详述如下:

s1015:当相机应用程序切换至后台运行时,令终端屏幕的显示模式从单屏显示模式切换为多屏显示模式,得到多个对象区域。

终端屏幕的显示模式包括单屏显示模式以及多屏显示模式。在多屏显示模式之下,终端显示界面将生成一分隔条,以将终端显示界面划分为两个或两个以上的对象区域。

本发明实施例中,将原本全屏显示于终端显示界面的图像进行缩小处理,并将缩小后所得到的子图像全屏显示于各个对象区域中。例如,若单屏显示模式下的终端显示界面用于展示通讯录页面,则在终端屏幕的显示模式从单屏显示模式切换为多屏显示模式后,上述通讯录页面将缩小显示于终端显示界面的多个对象区域中。

通过检测用户对分隔条所发出的移动指令,对各个对象区域的面积大小进行调整。在每一对象区域内,通过检测用户发出的操控指令,在该对象区域中执行与操控指令相对应的响应操作。

本发明实施例中,若在单屏显示模式之下检测到前台运行的相机应用程序,则在该相机应用程序切换至后台运行时,自动控制终端屏幕的显示模式从单屏显示模式切换为多屏显示模式,以得到多个对象区域。

s1016:设置任一所述对象区域的面积占比小于第一阈值,并在该对象区域中加载显示控件。

本发明实施例中,对象区域的面积占比表示该对象区域与终端显示界面的面积之比。在上述s1015所得到的多个对象区域中,选取任意一个对象区域。通过移动终端显示界面中的分隔条的位置,更改该对象区域的面积占比,并使该对象区域的面积占比小于第一阈值。在面积占比小于第一阈值的上述对象区域中,加载与相机应用程序关联的显示控件。

其中,第一阈值为人类肉眼无法观看到对象区域时的面积占比最大值。例如,令该对象区域的面积占比小于0.001%。

本发明实施例中,在相机应用程序切换至后台运行时,令终端屏幕的显示模式从单屏显示模式切换为多屏显示模式,得到多个对象区域,并设置任一对象区域的面积占比小于第一阈值后,才在该对象区域中加载显示控件,保证了显示控件的面积占比也小于第一阈值,从而使得用户在使用其他非相机应用程序的过程中,不会因显示控件的存在而阻碍非相机应用程序的运行,同时也使得用户在没有可见的预览界面情况之下,也能够通过各类手势指令来操控相机应用程序执行图像数据的采集工作,因此,提高了相机应用程序的交互能力。

对应于本发明实施例所提供的图像数据的采集方法,图6示出了本发明实施例提供的图像数据的采集装置的结构框图。为了便于说明,仅示出了与本实施例相关的部分。

参照图6,该装置包括:

第一创建单元61,用于当相机应用程序切换至后台运行时,创建可见度低于第一阈值的对象区域,并在所述对象区域中加载显示控件。

第二创建单元62,用于创建与所述相机应用程序关联的图像预览请求,将所述图像预览请求与所述显示控件进行绑定。

展示单元63,用于通过所述显示控件所绑定的所述图像预览请求,在所述对象区域中展示摄像头所拍摄得到的各帧图像数据。

第三创建单元64,用于若接收到用户发出的图像拍摄指令,则创建图像控件及其所绑定的图像拍摄请求;所述图像控件用于根据检测到的所述图像拍摄请求,调用所述显示控件所实时读取到的所述图像数据。

第一存储单元65,用于对所述图像控件所调用的所述图像数据进行存储。

可选地,所述第一创建单元61包括:

创建子单元,用于当相机应用程序切换至后台运行时,创建包含显示控件的对话框。

第一设置子单元,用于分别设置所述对话框的长度小于第二阈值以及设置所述对话框的宽度小于第三阈值,以使所述对话框的可见度低于第一阈值。

可选地,所述第一创建单元61包括:

切换子单元,用于当相机应用程序切换至后台运行时,令终端屏幕的显示模式从单屏显示模式切换为多屏显示模式,得到多个对象区域。

第二设置子单元,用于设置任一所述对象区域的面积占比小于第一阈值,并在该对象区域中加载显示控件。

可选地,所述第一创建单元61还包括:

获取子单元,用于当图像预览事件被触发时,获取所述对话框的初始尺寸参数。

调整子单元,用于分别将所述对话框的所述长度以及所述宽度调整为所述初始尺寸参数,以使所述对话框的所述可见度大于所述第一阈值。

可选地,所述图像数据的采集装置还包括:

第四创建单元,用于若接收到用户发出的视频录制指令,则创建视频录制容器。

控制单元,用于生成与所述相机应用程序关联的视频录制请求,并控制所述视频录制容器的接口层绑定所述视频录制请求,以通过所述视频录制容器的接口层,获取所述摄像头所拍摄得到的图像流数据。

第二存储单元,用于对所述视频录制容器中的所述图像流数据进行存储。

本发明实施例中,通过在相机应用程序切换至后台运行时,创建可见度低于第一阈值的对象区域,并在对象区域中加载显示控件,通过显示控件所绑定的图像预览请求,在对象区域中展示摄像头所拍摄得到的各帧图像数据,使得各帧图像数据的可见度也低于上述第一阈值,实现了相机应用程序的预览画面在肉眼不可见的情况之下,实际仍然能够运行于前台的对象区域中,因此,避免了安卓系统自动关闭相机应用程序,由此也保证了用户能够在前台界面操控其他非相机业务的应用程序的同时,还能够使用相机应用程序所提供的图像数据采集功能,故提高了相机应用程序的交互能力。

图7是本发明一实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如图像拍摄程序。所述处理器70执行所述计算机程序72时实现上述各个图像数据的采集方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示单元61至65的功能。

示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。

所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器70可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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