CN112770040A - 一种拍摄方法、装置及计算机可读存储介质 - Google Patents
一种拍摄方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112770040A CN112770040A CN201911059125.0A CN201911059125A CN112770040A CN 112770040 A CN112770040 A CN 112770040A CN 201911059125 A CN201911059125 A CN 201911059125A CN 112770040 A CN112770040 A CN 112770040A
- Authority
- CN
- China
- Prior art keywords
- shooting
- parameter set
- setting parameter
- target image
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/617—Upgrading or updating of programs or applications for camera control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/62—Control of parameters via user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Studio Devices (AREA)
Abstract
本申请提供了一种拍摄方法、装置及计算机可读存储介质,在拍摄预览过程中,将对应于目标预览图像数据的目标图像设置参数集合进行保存;在接收到拍摄指令之后,根据拍摄指令接收目标图像数据以及通知数据;在确认通知数据中携带有拍摄失败通知时,将所保存的目标图像设置参数集合传送至应用层;控制应用层基于目标图像设置参数集合以及目标图像数据生成目标输出图像。通过本申请方案的实施,在图像预览过程中保存图像设置参数,以在硬件抽象层通知拍摄失败时供应用层调用,有效的降低了图像拍摄的丢图率,提升了用户的拍摄体验。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种拍摄方法、装置及计算机可读存储介质。
背景技术
随着终端技术的快速发展,终端在用户的日常工作和生活中的作用越来越大,而拍摄应用作为一种终端上的一种典型应用受到用户的广泛青睐。
目前用户在使用终端进行图像拍摄时,当用户取景到所需拍摄的对象并触发拍摄指令之后,终端可能会出现没抓取到数据等而导致硬件抽象层通知拍摄失败的情况,使得终端未能针对用户以期记录的场景输出图像,造成用户的拍摄体验较差。
发明内容
本申请实施例提供了一种拍摄方法、装置及计算机可读存储介质,至少能够解决相关技术中在硬件抽象层通知拍摄失败时,无法针对用户所需记录的场景输出图像,所造成的用户拍摄体验较低的问题。
本申请实施例第一方面提供了一种拍摄方法,包括:
在拍摄预览过程中,将对应于目标预览图像数据的目标图像设置参数集合进行保存;
在接收到拍摄指令之后,根据所述拍摄指令接收目标图像数据以及通知数据;
在确认所述通知数据中携带有拍摄失败通知时,将所保存的所述目标图像设置参数集合传送至所述应用层;
控制所述应用层基于所述目标图像设置参数集合以及所述目标图像数据生成目标输出图像。
本申请实施例第二方面提供了一种拍摄装置,包括:
预览模块,用于在拍摄预览过程中,将对应于目标预览图像数据的目标图像设置参数集合进行保存;
接收模块,用于在接收到拍摄指令之后,根据所述拍摄指令接收目标图像数据以及通知数据;
传送模块,用于在确认所述通知数据中携带有拍摄失败通知时,将所保存的所述目标图像设置参数集合传送至所述应用层;
生成模块,用于控制所述应用层基于所述目标图像设置参数集合以及所述目标图像数据生成目标输出图像。
本申请实施例第三方面提供了一种电子装置,包括:存储器、处理器及总线,总线用于实现存储器、处理器之间的连接通信;处理器用于执行存储在存储器上的计算机程序,处理器执行计算机程序时,实现上述本申请实施例第一方面提供的拍摄方法中的各步骤。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的拍摄方法中的各步骤。
由上可见,根据本申请方案所提供的拍摄方法、装置及计算机可读存储介质,将对应于目标预览图像数据的目标图像设置参数集合进行保存;在接收到拍摄指令之后,根据拍摄指令接收目标图像数据以及通知数据;在确认通知数据中携带有拍摄失败通知时,将所保存的所述目标图像设置参数集合传送至所述应用层;控制应用层基于目标图像设置参数集合以及目标图像数据生成目标输出图像。通过本申请方案的实施,在图像预览过程中保存图像设置参数,以在硬件抽象层通知拍摄失败时供应用层调用,有效的降低了图像拍摄的丢图率,提升了用户的拍摄体验。
附图说明
图1为本申请第一实施例提供的相机架构示意图;
图2为本申请第一实施例提供的拍摄方法的基本流程示意图;
图3为本申请第一实施例提供的拍摄回调示意图;
图4为本申请第一实施例提供的图像生成方法的流程示意图;
图5为本申请第二实施例提供的拍摄方法的细化流程示意图;
图6为本申请第三实施例提供的一种拍摄装置的程序模块示意图;
图7为本申请第三实施例提供的另一种拍摄装置的程序模块示意图;
图8为本申请第四实施例提供的电子装置的结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决相关技术中在硬件抽象层通知拍摄失败时,无法针对用户所需记录的场景输出图像,所造成的用户拍摄体验较低的缺陷,本申请第一实施例提供了一种拍摄方法,本实施例首先对该拍摄方法所应用的其中一种典型的相机架构进行如下说明:
如图1所示为本实施例提供的相机架构示意图,其中,应用代码位于应用框架级别,它使用CameraAPI2与相机硬件进行交互。在内部,这些代码会调用相应的Binder接口,以访问与相机互动的原生代码。
而关于AIDL(Android interface definition language,Android接口定义语言),与CameraService关联的Binder接口可在frameworks/av/camera/aidl/and roid/hardware中找到。生成的代码会调用较低级别的原生代码以获取对实体相机的访问权限,并返回用于在框架级别创建CameraDevice并最终创建Camer aCaptureSession对象的数据。
此外,原生框架位于frameworks/av/中,并提供相当于CameraDevice和CameraCaptureSession类的原生类。对于binder接口,其用于实现跨越进程边界的通信。调用相机服务的若干个相机Binder类位于frameworks/av/camera/camera/aidl/android/hardware目录中。ICameraService是相机服务的接口;ICameraDeviceUser是已打开的特定相机设备的接口;ICameraServiceListener和ICameraDeviceCallbacks分别是对应用框架的CameraService和CameraDevice回调。
还应当说明的是,位于frameworks/av/services/camera/libcameraservice/CameraService.cpp下的相机服务是与硬件抽象层(HAL,Hardware Abstract Layer)进行互动的实际代码。HAL定义了由相机服务调用、实现相机硬件正常运行的标准接口。
如图2为本实施例提供的拍摄方法的基本流程图,该拍摄方法包括以下的步骤:
步骤201、在拍摄预览过程中,将对应于目标预览图像数据的目标图像设置参数集合进行保存。
具体的,在用户使用终端拍摄的过程中,在用户确认拍摄而触发拍摄指令之前,终端会对用户所取景的景物进行图像预览,在本实施例中,设置有预览框架,用于在终端相机进行图像预览时,获取对应于目标预览图像数据的目标图像设置参数(metadata)集合,该图像设置参数集合中至少包括一个图像设置参数,例如可以包括自动曝光参数(AE,AutoExposure)、自动聚焦参数(AF,Auto Focus)、自动白平衡参数(AWB,Auto White Balance)等中的一种或多种,然后将该图像设置参数集合在预览框架的缓存区域进行保存。
在本实施例一种可选的实施方式中,将对应于目标预览图像数据的目标图像设置参数集合进行保存包括:每接收到最新一帧预览图像数据时,将最新一帧预览图像数据作为目标预览图像数据,并采用对应于目标预览图像数据的目标图像设置参数集合,对所保存的历史图像设置参数集合进行替换保存。
具体的,在实际应用中,终端进行拍摄预览可能为一个持续过程,可能会持续一段时间,从而在不同的时刻拍摄场景有所不同,从而不同帧的预览图像数据所对应的图像设置参数集合也有所不同,而与用户确认拍摄的时刻最近的一帧也即最新的一帧预览图像数据的图像设置参数集合,最符合于用户确认拍摄时的拍摄场景,而此前的预览图像数据的图像设置参数集合的参考意义则相对有限。基于此,本实施例在拍摄预览过程中,每接收到一帧新的预览图像时,则将该预览图像数据的图像设置参数集合作为所确定的目标图像设置参数集合,替代所保存的上一帧预览图像数据的图像设置参数集合,可提升预览框架的存储利用率以及数据的有效性。应当说明的是,在另一些实施方式中,为了满足更多样化的拍摄需求,也可以将多帧预览图像数据的图像设置参数集合均作为目标图像设置参数集合进行保存。
步骤202、在接收到拍摄指令之后,根据拍摄指令接收目标图像数据以及通知数据。
具体的,本实施例的拍摄指令可以是用户手动操作拍摄按钮触发,也可以是在到达预设的确认拍摄时刻时终端自动触发,在此不作唯一限定。相机在接收到拍摄指令后执行图像拍摄流程,硬件抽象层获取对应于取景范围的目标图像数据及通知数据,并传送至应用层进行图像处理。应当说明的是,本实施例的图像数据可以包括JPEG/YUV两种格式的图像。
在本实施例一种可选的实施方式中,根据拍摄指令接收目标图像数据以及通知数据包括:根据拍摄指令,控制应用层采用同一线程接收硬件抽象层的数据线程传送过来的目标图像数据,以及硬件抽象层的通知线程传送过来的通知数据。
具体的,如图3为本实施例提供的拍摄回调示意图,其中,硬件抽象层HAL包括两个线程,通知线程Notify和数据线程Data,其中,采用Data线程输出图像数据,通知数据经过BQ(Buffer Queue)传递ImagereaderJNI,然后通过反射方式通知到ImageReader,最终回到应用层APP的Camera App里面;另外,采用Notify线程输出通知数据至APP Framework,然后传递到Camera App。在本实施例中,为了确保数据解析时序不会错误,经过通知数据和图像数据通过不同线程进行输出,但是在应用层的Camera App进行接收时,采用同一线程来对两者进行接收,从而可以对两者进行同步解析,保证数据解析效率和准确性。
步骤203、在确认通知数据中携带有拍摄失败通知时,将所保存的目标图像设置参数集合传送至应用层。
具体的,在本实施例中,通知线程在拍摄成功时,向应用层发送拍摄成功通知onCaptureCompleted(),并且该拍摄成功通知还携带有根据拍摄指令所实时获取的图像设置参数。而在通知线程向应用层通知拍摄失败onCaptureFailed()时,则说明根据拍摄指令实时获取图像设置参数失败,因而通知数据中并未携带图像设置参数,基于此,本实施例为了保证能够正常生成用户所拍摄的场景的图像,将预览框架所保存的目标图像参数集合发送至应用层。
应当说明的是,在预览框架保存有多个不同帧的预览图像数据相对应的图像设置参数集合时,可以按照预设规则从中选其一作为图像设置参数集合进行传送;而在预览框架仅对最新一帧预览图像数据的图像设置参数进行保存时,则直接将最新一帧预览图像数据所对应的图像设置参数集合作为图像设置参数集合进行传送。
步骤204、控制应用层基于目标图像设置参数集合以及目标图像数据生成目标输出图像。
具体的,在图像预览过程中保存图像设置参数,以在硬件抽象层通知拍摄失败时供应用层调用,从而可以针对用户的拍摄需求正常生成图像,有效的降低了图像拍摄的丢图率,提升了用户的拍摄体验。应当说明的是,本实施例的目标输出图像优选的可以为带有完整Exif信息的照片。
在本实施例一种可选的实施方式中,在控制应用层基于目标图像设置参数集合以及目标图像数据生成目标输出图像之后,还包括:在预设历史时间周期内所接收的拍摄失败通知的累积次数达到预设的次数阈值时,输出相机应用异常提醒。
具体的,在本实施例中,在预设历史时间周期内对所接收的所有拍摄失败通知进行次数累加,判断累加上当前所接收的拍摄失败通知之后的累积次数,是否达到预设的次数阈值;在达到次数阈值时,输出相机应用异常提醒。在实际应用中,若终端在多次启动相机进行拍摄的场景下,均出现了硬件抽象层通知拍摄失败的情况,那么则可能是因为应用本身出现了故障,从而本实施例在这种情况下输出相机应用异常提醒,以提醒用户进行应用修复,例如对应用进行更新、卸载并重新安装等,避免后续拍摄过程中继续频繁出现通知拍摄失败的情况。
如图4所示为本实施例提供的一种图像生成方法的流程示意图,在本实施例一种可选的实施方式中,在控制应用层基于目标图像设置参数集合以及目标图像数据生成目标输出图像时,具体包括以下步骤:
步骤401、控制应用层将目标图像设置参数集合中的所有图像设置参数均进行保存;
步骤402、从所保存的所有图像设置参数中选择目标图像设置参数;
步骤403、将目标图像设置参数写入至目标图像数据得到目标输出图像。
具体的,目前在应用层接收到目标图像设置参数集合后,由于仅需根据集合中的部分参数来对图像数据进行处理,从而通常是将集合中指定类型的参数进行保存,而在进行图像生成时将所保存的所有参数进行调用即可,然而,在这种情况下,若在以后进行图像生成时需要调用新类型的图像设置参数时,需要修改参数存储机制,以保证可以将所接收的目标图像设置参数集合中新类型的图像设置参数进行存储,系统的灵活性和可扩展性较弱。基于此,本实施例在应用层接收到预览框架传送过来的图像设置参数集合之后,每次均会将图像设置参数集合中所携带的所有参数均进行保存,从而增强了系统的灵活性和可扩展性。应当理解的是,本实施例是通过将图像设置参数写入至图像数据的头文件中以生成最终的输出图像。
在本实施例一种可选的实施方式中,在将所保存的目标图像设置参数集合传送至应用层之前,还包括:获取当前的拍摄场景属性,并基于拍摄场景属性判断当前是否满足预设的图像设置参数集合的调用条件;在满足图像设置参数集合的调用条件时,执行将所保存的目标图像设置参数集合传送至应用层的步骤。
具体的,在本实施例中,为了保证拍摄机制的可扩展性和合理性,进一步提升拍摄体验和拍摄效果,并非在任何场景下均从预览框架调用目标图像设置参数集合,而是根据当前的拍摄场景属性来判断是否调用预览框架所保存的目标图像设置参数集合,应当理解的是,本实施例的拍摄场景属性可以关联于当前的拍摄环境和/或用户的实际拍摄需求。
进一步地,在本实施例一种可选的实施方式中,基于拍摄场景属性判断当前是否满足预设的图像设置参数集合的调用条件之后,还包括:在不满足图像设置参数集合的调用条件时,生成拍摄指令,然后返回执行根据拍摄指令接收目标图像数据以及通知数据的步骤。
具体的,在用户控制相机进行拍照时,所记录的场景一定是用户比较关心的场景,基于此,本实施例在不调用预览框架的图像设置参数集合的情况下,为了保证用户此次拍摄成功,可以在硬件抽象层通知拍摄失败时,自动触发拍摄指令,从而控制终端根据所触发的拍摄指令再次执行拍摄流程(也即本实施例的一次拍摄动作实际触发了两次拍摄流程),控制硬件抽象层再次尝试获取图像数据以及图像设置参数集合,由于硬件抽象层通知拍摄失败的场景具备一定的偶然性,而再次执行拍摄流程则通常可以克服偶然拍摄失败,以实现图像设置参数集合的正常获取,进而保证最终可正常输出拍摄图像,并且此时所输出至应用层的图像设置参数相对于预览框架所保存的图像设置参数具备更高的准确性,所获取的图像质量也相对更好。
应当说明的是,在本实施例中,若上述再次执行拍摄流程仍旧通知拍摄失败,则可以执行前述从所保存的图像设置参数集合中确定目标图像设置参数集合,并将目标图像设置参数集合传送至应用层的流程,或者,可以仍旧继续触发拍摄指令,重复进行拍摄,直至达到预设拍摄次数仍通知拍摄失败时,再执行前述从所保存的图像设置参数集合中确定目标图像设置参数集合,并将目标图像设置参数集合传送至应用层的流程,在此不作唯一限定,可视实际应用场景而定。
根据上述本申请实施例所提供的技术方案,将对应于目标预览图像数据的目标图像设置参数集合进行保存;在接收到拍摄指令之后,根据拍摄指令接收目标图像数据以及通知数据;在确认通知数据中携带有拍摄失败通知时,将所保存的目标图像设置参数集合传送至应用层;控制应用层基于目标图像设置参数集合以及目标图像数据生成目标输出图像。通过本申请方案的实施,在图像预览过程中保存图像设置参数,以在硬件抽象层通知拍摄失败时供应用层调用,有效的降低了图像拍摄的丢图率,提升了用户的拍摄体验。
图5中的方法为本申请第二实施例提供的一种细化的拍摄方法,该拍摄方法包括:
步骤501、在拍摄预览过程中,每接收到最新一帧预览图像数据时,采用最新一帧预览图像数据的图像设置参数集合对所保存的历史图像设置参数集合进行替换保存。
具体的,本实施例在拍摄预览过程中,每新接收到一帧预览图像时,则利用该预览图像数据的图像设置参数集合,替代所保存的上一帧预览图像数据的图像设置参数集合,可提升预览框架的存储利用率以及数据的有效性。
步骤502、在接收到拍摄指令之后,控制应用层接收硬件抽象层传送过来的目标图像数据以及通知数据。
具体的,相机在接收到拍摄指令后执行图像拍摄流程,硬件抽象层获取对应于取景范围的目标图像数据及通知数据,并传送至应用层进行图像处理。
步骤503、在确认通知数据中携带有拍摄失败通知时,获取当前的拍摄场景属性。
具体的,通知线程向应用层通知拍摄失败onCaptureFailed()时,则说明根据拍摄指令实时获取图像设置参数失败,因而通知数据中并未携带图像设置参数。
步骤504、基于拍摄场景属性判断当前是否满足预设的图像设置参数集合的调用条件。
具体的,本实施例的拍摄场景属性可以关联于当前的拍摄环境和/或用户的实际拍摄需求,经过对拍摄场景属性进行条件判断,来保证调用预览框架所保存的图像设置参数的合理性和适配效果。
步骤505、在满足图像设置参数集合的调用条件时,将所保存的最新一帧预览图像数据的图像设置参数集合传送至应用层。
具体的,本实施例为了保证能够正常生成用户所拍摄的场景的图像,将预览框架所保存的、以供备用的图像设置参数集合中的特定图像参数集合发送至应用层。
步骤506、控制应用层将接收到的图像设置参数集合中的目标图像设置参数写入至目标图像数据,得到目标输出图像。
具体的,本实施例在图像预览过程中保存图像设置参数,以在硬件抽象层通知拍摄失败时供应用层调用,从而可以针对用户的拍摄需求正常生成图像,有效的降低了图像拍摄的丢图率,提升了用户的拍摄体验。
步骤507、在预设历史时间周期内的拍摄失败通知的累积次数达到预设的次数阈值时,输出相机应用异常提醒。
本实施例在频繁拍摄失败时输出相机应用异常提醒,以提醒用户进行应用修复,例如对应用进行更新、卸载并重新安装等,避免后续拍摄过程中继续频繁出现通知拍摄失败的情况。
应当理解的是,本实施例中各步骤的序号的大小并不意味着步骤执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成唯一限定。
本申请实施例公开了一种拍摄方法,在拍摄预览过程中,对最新预览图像数据对应的图像设置参数集合进行保存;在接收到拍摄指令之后,根据拍摄指令接收目标图像数据以及通知数据;在确认通知数据中携带有拍摄失败通知时,将所保存的图像设置参数集合传送至应用层;控制应用层从所接收到的图像设置参数集合中选取目标图像设置参数,写入至目标图像数据得到目标输出图像。通过本申请方案的实施,在图像预览过程中保存图像设置参数,以在硬件抽象层通知拍摄失败时供应用层调用,有效的降低了图像拍摄的丢图率,提升了用户的拍摄体验。
图6为本申请第三实施例提供的一种拍摄装置。该拍摄装置可用于实现前述实施例中的拍摄方法。如图6所示,该拍摄装置主要包括:
预览模块601,用于在拍摄预览过程中,将对应于目标预览图像数据的目标图像设置参数集合进行保存;
接收模块602,用于在接收到拍摄指令之后,根据拍摄指令接收目标图像数据以及通知数据;
传送模块603,用于在确认通知数据中携带有拍摄失败通知时,将所保存的目标图像设置参数集合传送至应用层;
生成模块604,用于控制应用层基于目标图像设置参数集合以及目标图像数据生成目标输出图像。
在本实施例一种可选的实施方式中,预览模块601具体用于:每接收到最新一帧预览图像数据时,将最新一帧预览图像数据作为目标预览图像数据,并采用对应于目标预览图像数据的目标图像设置参数集合,对所保存的历史图像设置参数集合进行替换保存。
在本实施例一种可选的实施方式中,接收模块602具体用于:根据所述拍摄指令,控制应用层采用同一线程接收硬件抽象层的数据线程传送过来的目标图像数据,以及硬件抽象层的通知线程传送过来的通知数据。
如图7所示为本实施例提供的另一种拍摄装置,在本实施例一种可选的实施方式中,拍摄装置还包括:提醒模块605,用于在控制应用层基于目标图像设置参数集合以及目标图像数据生成目标输出图像之后,在预设历史时间周期内所接收的拍摄失败通知的累积次数达到预设的次数阈值时,输出相机应用异常提醒。
在本实施例一种可选的实施方式中,生成模块604具体用于控制应用层将目标图像设置参数集合中的所有图像设置参数均进行保存;从所保存的所有图像设置参数中选择目标图像设置参数;将目标图像设置参数写入至目标图像数据得到目标输出图像。
请再次参阅图7,进一步地,在本实施例一种可选的实施方式中,拍摄装置还包括:判断模块606,用于在将所保存的目标图像设置参数集合传送至应用层之前,获取当前的拍摄场景属性,并基于拍摄场景属性判断当前是否满足预设的图像设置参数集合的调用条件。相对应的,在满足图像设置参数集合的调用条件时,传送模块603执行将所保存的目标图像设置参数集合传送至应用层的功能。
在本实施例一种可选的实施方式中,在基于拍摄场景属性判断当前是否满足预设的图像设置参数集合的调用条件之后,生成模块604还用于在不满足图像设置参数集合的调用条件时,生成拍摄指令。相对应的,接收模块602再次执行根据拍摄指令接收目标图像数据以及通知数据的功能。
应当说明的是,第一、二实施例中的拍摄方法均可基于本实施例提供的拍摄装置实现,所属领域的普通技术人员可以清楚的了解到,为描述的方便和简洁,本实施例中所描述的拍摄装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
根据本实施例所提供的拍摄装置,将对应于目标预览图像数据的目标图像设置参数集合进行保存;在接收到拍摄指令之后,控制应用层接收硬件抽象层传送过来的目标图像数据以及通知数据;在确认通知数据中携带有拍摄失败通知时,将所保存的目标图像设置参数集合传送至应用层;控制应用层基于目标图像设置参数集合以及目标图像数据生成目标输出图像。通过本申请方案的实施,在图像预览过程中保存图像设置参数,以在硬件抽象层通知拍摄失败时供应用层调用,有效的降低了图像拍摄的丢图率,提升了用户的拍摄体验。
请参阅图8,图8为本申请第四实施例提供的一种电子装置。该电子装置可用于实现前述实施例中的拍摄方法。如图8所示,该电子装置主要包括:
存储器801、处理器802、总线803及存储在存储器801上并可在处理器802上运行的计算机程序,存储器801和处理器802通过总线803连接。处理器802执行该计算机程序时,实现前述实施例中的拍摄方法。其中,处理器的数量可以是一个或多个。
存储器801可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器801用于存储可执行程序代码,处理器802与存储器801耦合。
进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子装置中,该计算机可读存储介质可以是前述图8所示实施例中的存储器。
该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的拍摄方法。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的拍摄方法、装置及计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种拍摄方法,其特征在于,包括:
在拍摄预览过程中,将对应于目标预览图像数据的目标图像设置参数集合进行保存;
在接收到拍摄指令之后,根据所述拍摄指令接收目标图像数据以及通知数据;
在确认所述通知数据中携带有拍摄失败通知时,将所保存的所述目标图像设置参数集合传送至应用层;
控制所述应用层基于所述目标图像设置参数集合以及所述目标图像数据生成目标输出图像。
2.根据权利要求1所述的拍摄方法,其特征在于,所述将对应于目标预览图像数据的目标图像设置参数集合进行保存包括:
每接收到最新一帧预览图像数据时,将所述最新一帧预览图像数据作为所述目标预览图像数据,并采用对应于所述目标预览图像数据的目标图像设置参数集合,对所保存的历史图像设置参数集合进行替换保存。
3.根据权利要求1所述的拍摄方法,其特征在于,所述根据所述拍摄指令接收目标图像数据以及通知数据包括:
根据所述拍摄指令,控制所述应用层采用同一线程接收硬件抽象层的数据线程传送过来的目标图像数据,以及所述硬件抽象层的通知线程传送过来的通知数据。
4.根据权利要求1所述的拍摄方法,其特征在于,所述控制所述应用层基于所述目标图像设置参数集合以及所述目标图像数据生成目标输出图像之后,还包括:
在预设历史时间周期内所接收的所述拍摄失败通知的累积次数达到预设的次数阈值时,输出相机应用异常提醒。
5.根据权利要求1至4中任意一项所述的拍摄方法,其特征在于,所述控制所述应用层基于所述目标图像设置参数集合以及所述目标图像数据生成目标输出图像包括:
控制所述应用层将所述目标图像设置参数集合中的所有图像设置参数均进行保存;
从所保存的所有图像设置参数中选择目标图像设置参数;
将所述目标图像设置参数写入至所述目标图像数据得到目标输出图像。
6.根据权利要求1至4任意一项所述的拍摄方法,其特征在于,所述将所保存的所述目标图像设置参数集合传送至应用层之前,还包括:
获取当前的拍摄场景属性,并基于所述拍摄场景属性判断当前是否满足预设的图像设置参数集合的调用条件;
在满足所述图像设置参数集合的调用条件时,执行所述将所保存的所述目标图像设置参数集合传送至应用层的步骤。
7.根据权利要求6所述的拍摄方法,其特征在于,所述基于所述拍摄场景属性判断当前是否满足预设的图像设置参数集合的调用条件之后,还包括:
在不满足所述图像设置参数集合的调用条件时,生成所述拍摄指令,然后返回执行所述根据所述拍摄指令接收目标图像数据以及通知数据的步骤。
8.一种拍摄装置,其特征在于,包括:
预览模块,用于在拍摄预览过程中,将对应于目标预览图像数据的目标图像设置参数集合进行保存;
接收模块,用于在接收到拍摄指令之后,根据所述拍摄指令接收目标图像数据以及通知数据;
传送模块,用于在确认所述通知数据中携带有拍摄失败通知时,将所保存的所述目标图像设置参数集合传送至应用层;
生成模块,用于控制所述应用层基于所述目标图像设置参数集合以及所述目标图像数据生成目标输出图像。
9.一种电子装置,包括:存储器、处理器及总线,其特征在于,所述总线用于实现所述存储器、处理器之间的连接通信;所述处理器用于执行存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至7中任意一项所述方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7中的任意一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911059125.0A CN112770040B (zh) | 2019-11-01 | 2019-11-01 | 一种拍摄方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911059125.0A CN112770040B (zh) | 2019-11-01 | 2019-11-01 | 一种拍摄方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112770040A true CN112770040A (zh) | 2021-05-07 |
CN112770040B CN112770040B (zh) | 2022-05-13 |
Family
ID=75692013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911059125.0A Active CN112770040B (zh) | 2019-11-01 | 2019-11-01 | 一种拍摄方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112770040B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360179A (zh) * | 2021-06-24 | 2021-09-07 | 平安普惠企业管理有限公司 | 基于Android系统的相机API的适配方法、装置、设备及介质 |
CN113890998A (zh) * | 2021-10-26 | 2022-01-04 | Oppo广东移动通信有限公司 | 图像数据的处理方法、装置、电子设备和存储介质 |
CN116347212A (zh) * | 2022-08-05 | 2023-06-27 | 荣耀终端有限公司 | 一种自动拍照方法及电子设备 |
TWI828298B (zh) * | 2022-09-01 | 2024-01-01 | 英屬維爾京群島商威爾德嘉德有限公司 | 拍攝方法、拍攝裝置、電子設備和可讀存儲介質 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120162455A1 (en) * | 2010-12-23 | 2012-06-28 | Samsung Electronics Co., Ltd. | Digital image processing apparatus including handshake correction module and methods of controlling the digital image processing apparatus |
WO2017076199A1 (zh) * | 2015-11-04 | 2017-05-11 | 阿里巴巴集团控股有限公司 | 一种相机应用的图像预览方法、装置及相机应用系统 |
CN108337433A (zh) * | 2018-03-19 | 2018-07-27 | 广东欧珀移动通信有限公司 | 一种拍照方法、移动终端及计算机可读存储介质 |
WO2019056242A1 (zh) * | 2017-09-21 | 2019-03-28 | 深圳传音通讯有限公司 | 一种智能终端的相机拍摄参数设置方法、设置装置及智能终端 |
-
2019
- 2019-11-01 CN CN201911059125.0A patent/CN112770040B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120162455A1 (en) * | 2010-12-23 | 2012-06-28 | Samsung Electronics Co., Ltd. | Digital image processing apparatus including handshake correction module and methods of controlling the digital image processing apparatus |
WO2017076199A1 (zh) * | 2015-11-04 | 2017-05-11 | 阿里巴巴集团控股有限公司 | 一种相机应用的图像预览方法、装置及相机应用系统 |
WO2019056242A1 (zh) * | 2017-09-21 | 2019-03-28 | 深圳传音通讯有限公司 | 一种智能终端的相机拍摄参数设置方法、设置装置及智能终端 |
CN108337433A (zh) * | 2018-03-19 | 2018-07-27 | 广东欧珀移动通信有限公司 | 一种拍照方法、移动终端及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
ICAMERA0: ""android camera HAL 错误数据流处理"", 《HTTPS://BLOG.CSDN.NET/ICAMERA0/ARTICLE/DETAILS/50568782》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360179A (zh) * | 2021-06-24 | 2021-09-07 | 平安普惠企业管理有限公司 | 基于Android系统的相机API的适配方法、装置、设备及介质 |
CN113890998A (zh) * | 2021-10-26 | 2022-01-04 | Oppo广东移动通信有限公司 | 图像数据的处理方法、装置、电子设备和存储介质 |
CN116347212A (zh) * | 2022-08-05 | 2023-06-27 | 荣耀终端有限公司 | 一种自动拍照方法及电子设备 |
CN116347212B (zh) * | 2022-08-05 | 2024-03-08 | 荣耀终端有限公司 | 一种自动拍照方法及电子设备 |
TWI828298B (zh) * | 2022-09-01 | 2024-01-01 | 英屬維爾京群島商威爾德嘉德有限公司 | 拍攝方法、拍攝裝置、電子設備和可讀存儲介質 |
Also Published As
Publication number | Publication date |
---|---|
CN112770040B (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112770040B (zh) | 一种拍摄方法、装置及计算机可读存储介质 | |
CN111491102B (zh) | 拍照场景的检测方法、系统、移动终端及存储介质 | |
CN111917988B (zh) | 一种云手机的远程摄像头应用方法、系统及介质 | |
CN109167931B (zh) | 图像处理方法、装置、存储介质及移动终端 | |
WO2017096857A1 (zh) | 相机拍摄参数调整方法及装置 | |
US20140320698A1 (en) | Systems and methods for capturing photo sequences with a camera | |
WO2014154003A1 (zh) | 一种自拍图像的展现方法及装置 | |
US11323614B2 (en) | Image-processing microprocessor with plug-in from an application processor | |
CN112612536B (zh) | 基于Linux系统中Android应用程序控制摄像的方法及装置 | |
CN109068059B (zh) | 一种调用相机的方法、移动终端及存储介质 | |
US9451159B2 (en) | Photographing starting apparatus and method for built-in camera of portable data processing device | |
CN111263072A (zh) | 一种拍摄控制方法、装置及计算机可读存储介质 | |
CN111314606B (zh) | 拍照方法、装置、电子设备及存储介质 | |
KR20140057497A (ko) | 사진 촬영 처리 방법 및 단말 장치 | |
CN110996012A (zh) | 连拍处理方法、图像处理器、拍摄装置和电子设备 | |
CN110231962B (zh) | 进程的性能配置方法、装置、终端及存储介质 | |
US11546546B2 (en) | Image capture apparatus, image processing apparatus, and control method | |
CN107872558B (zh) | 一种智能电子设备、图像处理单元、图像采集装置和图像采集方法 | |
CN111182223B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN111432121A (zh) | 生成方法、电子装置和存储介质 | |
CN114501136B (zh) | 图像获取方法、装置、移动终端以及存储介质 | |
CN114157626A (zh) | 应用拍照传送照片的方法、系统、存储介质及计算机设备 | |
CN113596325A (zh) | 抓图方法、装置、电子设备及存储介质 | |
US11528400B2 (en) | Image-processing microprocessor for supporting an application processor and multiple cameras | |
WO2018232669A1 (zh) | 一种控制摄像头拍照方法及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |