CN115034948B - 一种图像处理方法和电子设备 - Google Patents

一种图像处理方法和电子设备 Download PDF

Info

Publication number
CN115034948B
CN115034948B CN202111657813.4A CN202111657813A CN115034948B CN 115034948 B CN115034948 B CN 115034948B CN 202111657813 A CN202111657813 A CN 202111657813A CN 115034948 B CN115034948 B CN 115034948B
Authority
CN
China
Prior art keywords
image
image sensor
processing
parameter
instruction
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.)
Active
Application number
CN202111657813.4A
Other languages
English (en)
Other versions
CN115034948A (zh
Inventor
赵玉霞
黄立波
杨阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111657813.4A priority Critical patent/CN115034948B/zh
Publication of CN115034948A publication Critical patent/CN115034948A/zh
Application granted granted Critical
Publication of CN115034948B publication Critical patent/CN115034948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)

Abstract

本申请实施例公开了一种图像处理方法和电子设备,涉及图像处理领域,使得电子设备对原始图像进行翻转或旋转的功耗较小。具体方案为:响应于第一操作,启动相机应用程序。相机应用程序向图像传感器下发第一参数,第一参数用于指示图像传感器将当前采集到的图像进行第一处理后返回。第一处理包括以下至少一项:翻转处理,旋转处理。图像传感器根据第一参数,对当前采集到的图像进行第一处理,生成第一图像。图像传感器将第一图像返回至相机应用程序,以使相机应用程序显示第一图像。

Description

一种图像处理方法和电子设备
技术领域
本申请涉及图像处理领域,尤其涉及一种图像处理方法和电子设备。
背景技术
随着电子电路技术地不断发展,电子设备的拍摄功能也越来越丰富。例如,许多电子设备在拍摄照片时,能够对原始图像进行图像处理后再输出或存储。其中,原始图像是指电子设备的图像传感器采集到的图像,图像处理包括翻转或旋转。
通常情况下,对原始图像进行图像处理这一过程会通过电子设备中图形处理器(graphics processing unit,GPU)模块完成。例如,电子设备中的图像传感器采集到原始图像后,将原始图像发送至GPU模块,GPU模块对原始图像进行翻转或旋转。
然而,采用GPU模块对原始图像进行处理的方案中,电子设备需要将图像传感器采集到的原始图像回传给相机应用程序,再由相机应用程序将原始图像传输给GPU模块执行翻转或旋转。由此会导致功耗较大的问题。
发明内容
本申请实施例提供一种图像处理方法和电子设备,能够减小电子设备对原始图像进行翻转或旋转的功耗。
为了达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种图像处理方法,应用于电子设备,该电子设备包括相机应用程序和图像传感器,该方法包括:响应于第一操作,启动相机应用程序。相机应用程序向图像传感器下发第一参数,第一参数用于指示图像传感器将当前采集到的图像进行第一处理后返回;第一处理包括以下至少一项:翻转处理,旋转处理。图像传感器根据第一参数,对当前采集到的图像进行第一处理,生成第一图像。图像传感器将第一图像返回至相机应用程序,以使相机应用程序显示第一图像。
基于该方案,电子设备无需再通过相机应用程序将原始图像传输给GPU模块执行图像处理,而是通过图像处理器直接输出经过图像处理的第一图像,从而减小了图像处理的功耗,提高了图像处理效率。
在一种可能的设计中,相机应用程序向图像传感器下发第一参数,包括:相机应用程序判断第一配置是否开启,第一配置用于指示图像传感器是否需要将当前采集到的图像进行第一处理后返回。若第一配置开启,相机应用程序向图像传感器下发第一参数。若第一配置关闭,响应于第二操作,相机应用程序向图像传感器下发第一参数,第二操作包括开启第一配置的操作。基于该方案,无论第一配置是默认开启还是响应于第二操作开启,相机应用程序都能够直接显示经过镜像翻转的图像,从而使用户能够对最终拍摄得到的图像进行预览,有利于提高用户的使用体验。
在一种可能的设计中,相机应用程序向图像传感器下发第一参数,包括:相机应用程序判断第一配置是否开启,第一配置用于指示图像传感器是否需要将当前采集到的图像进行第一处理后返回。若第一配置开启,响应于拍摄操作,相机应用程序向图像传感器下发第一参数。若第一配置关闭,响应于第三操作,相机应用程序向图像传感器下发第一参数,第三操作包括开启第一配置的操作以及拍摄操作。基于该方案,相机应用程序接收到拍摄操作之前,图像传感器输出的始终为当前采集到的图像,有利于减小图像传感器的功耗与运算压力。
在一种可能的设计中,图像传感器将第一图像返回至相机应用程序之后,方法还包括:相机应用程序向图像传感器下发预设指令,预设指令用于指示图像传感器返回当前采集到的图像。基于该方案,相机应用程序完成拍摄后,指示图像传感器输出当前采集到的图像,从而减小图像传感器的功耗与运算压力。
在一种可能的设计中,响应于第一操作,启动相机应用程序之后,方法还包括:相机应用程序判断图像传感器是否支持对当前采集到的图像进行第一处理;若支持,相机应用程序为图像传感器配置第一属性,第一属性用于指示图像传感器接收到第一参数时,将当前采集到的图像进行第一处理后返回。基于该方案,有利于提高相机应用程序与图像传感器之间交互的准确性,从而提高图像处理效率。
在一种可能的设计中,在第一处理包括翻转处理时,第一参数包括翻转参数,翻转参数用于指示图像传感器将当前采集到的图像进行翻转处理后返回。在第一处理包括旋转处理时,第一参数包括旋转参数,旋转参数用于指示图像传感器将当前采集到的图像进行旋转处理后返回。基于该方案,图像传感器能够根据第一参数便捷地确定如何对当前采集到的图像进行处理。
在一种可能的设计中,电子设备还包括相机硬件抽象层。相机应用程序向图像传感器下发第一参数,包括:相机应用程序向相机硬件抽象层发送第一参数。相机硬件抽象层根据第一参数生成第一指令,第一指令用于指示图像传感器将当前采集到的图像进行第一处理后返回。相机硬件抽象层向图像传感器下发第一指令。图像传感器根据第一参数,对当前采集到的图像进行第一处理,包括:图像传感器根据第一指令,对当前采集到的图像进行第一处理。基于该方案,针对能够识别并应用第一指令的图像传感器,本申请实施例中的相机硬件抽象层可以直接将第一指令发送至图像传感器,使图像传感器直接根据第一指令对当前采集到的图像进行第一处理,从而提高图像处理效率。
在一种可能的设计中,电子设备还包括图像传感器的驱动。图像传感器根据第一指令对当前采集到的图像进行第一处理,包括:图像传感器的驱动根据第一指令,生成第二指令,第二指令是图像传感器能够直接应用的指令,第二指令用于指示图像传感器将当前采集到的图像进行第一处理后返回。图像传感器根据第二指令对当前采集到的图像进行第一处理。基于该方案,针对无法识别或应用第一指令的图像传感器,本申请实施例中的相机硬件抽象层可以将第一指令发送至图像传感器的驱动,通过图像传感器的驱动将第一指令转换为图像传感器能够直接应用的第二指令,从而提高本申请实施例提供的图像处理方案的适用性。
在一种可能的设计中,第一指令包括以下中的一项:第一处理指令,第二处理指令,第三处理指令。相机硬件抽象层根据第一参数生成第一指令,包括:在第一参数中包括翻转参数时,相机硬件抽象层生成第一处理指令,第一处理指令用于指示图像传感器将当前采集到的图像进行翻转处理后返回。在第一参数中包括旋转参数时,相机硬件抽象层生成第二处理指令,第二处理指令用于指示图像传感器将当前采集到的图像进行旋转处理后返回。在第一参数中包括翻转参数和旋转参数时,相机硬件抽象层生成第三处理指令,第三处理指令用于指示图像传感器将当前采集到的图像进行翻转处理和旋转处理后返回。基于该方案,图像传感器能够根据第一指令便捷地确定如何对当前采集到的图像进行处理
在一种可能的设计中,电子设备还包括存储器。在图像传感器根据第一参数,对当前采集到的图像进行第一处理之后,方法还包括:相机应用程序将第一图像存储至存储器。基于该方案,能够便于用户后续需要时查看或调用第一图像,有利于提高用户体验。
在一种可能的设计中,电子设备还包括相机硬件抽象层,图像传感器的驱动以及编码模块。第一参数还包括尺寸参数,尺寸参数用于指示相机硬件抽象层对第一图像进行第二处理,第二处理至少包括裁切处理。图像传感器将第一图像返回至相机应用程序,以使相机应用程序显示第一图像,包括:图像传感器将第一图像发送至图像传感器的驱动。图像传感器的驱动对第一图像进行编码转换,生成第二图像,第二图像为相机硬件抽象层能够直接识别的图像。相机硬件抽象层根据尺寸参数对第二图像进行第二处理,生成第三图像。编码模块对第三图像进行格式转换,生成第四图像。编码模块将第四图像发送至相机应用程序,以使相机应用程序显示第四图像。基于该方案,有利于满足用户针对图像尺寸的个性化需求,从而提高用户体验。
在一种可能的设计中,翻转处理包括以下至少一项:镜像翻转,上下翻转。基于该方案,有利于满足用户针对翻转处理的个性化需求,从而提高用户体验。
在一种可能的设计中,旋转处理以下中的一项:旋转90度,旋转180度,旋转270度。基于该方案,有利于满足用户针对旋转处理的个性化需求,从而提高用户体验。
在一种可能的设计中,第一操作包括以下至少一项:点击,长按,双击。基于该方案,有利于满足用户针对第一操作的个性化需求,从而提高用户体验。
第二方面,提供一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器;一个或多个存储器与一个或多个处理器耦合,一个或多个存储器存储有计算机指令。当一个或多个处理器执行计算机指令时,使得电子设备执行如第一方面及其可能的设计中任一项的图像处理方法。
第三方面,提供一种芯片***,该芯片包括处理电路和接口;处理电路用于从存储介质中调用并运行存储介质中存储的计算机程序,以执行如第一方面及其可能的设计中任一项的图像处理方法。
第四方面,提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当计算机指令运行时,执行如第一方面及其可能的设计中任一项的图像处理方法。
应当理解的是,上述第二方面,第三方面,第四方面提供的技术方案,其技术特征均可对应到第一方面及其可能的设计中提供的图像处理方法,因此能够达到的有益效果类似,此处不再赘述。
附图说明
图1为一种手机前置摄像头拍摄字母F的示意图;
图2为一种手机通过GPU模块对原始图像进行镜像翻转的流程示意图;
图3为本申请实施例提供的一种电子设备的组成示意图;
图4为本申请实施例提供的一种软件框架的示意图;
图5为本申请实施例提供的一种拍照的流程场景图;
图6为本申请实施例提供的一种图像处理方法的流程示意图;
图7为本申请实施例提供的一种手势的示意图;
图8为本申请实施例提供的又一种手势的示意图;
图9为本申请实施例提供的一种拍摄按钮的示意图;
图10为本申请实施例提供的又一种图像处理方法的流程示意图;
图11为本申请实施例提供的一种图像处理方法的交互图;
图12为本申请实施例提供的一种图像处理方法的流程图;
图13为本申请实施例提供的又一种图像处理方法的交互图;
图14为本申请实施例提供的一种电子设备的示意图;
图15为本申请实施例提供的一种芯片***的示意图。
具体实施方式
本申请实施例中的“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。此外,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于理解本申请实施例,以下首先对本申请实施例的应用背景予以介绍。
电子设备在拍摄照片时,常常需要将图像传感器(sensor)所采集的原始图像进行图像处理后再输出或存储。例如,手机常常需要将通过前置摄像头拍摄的照片镜像地显示于显示屏中,以使显示的图像更加贴近直观的视觉感受。
请参考图1,为一种手机前置摄像头拍摄字母F的示意图。为了将字母F镜像地显示于显示屏中,手机通过前置摄像头拍摄字母F时,会将图像传感器所采集的原始图像进行镜像翻转后再显示。换句话说,手机通过前置摄像头拍摄字母F得到的图像为字母F左右翻转后的图像。
需要说明的是,本申请实施例中的图像处理至少包括翻转或旋转中的任一种。其中,翻转包括上下翻转以及镜像翻转,旋转包括旋转90°°、180°、270°等。
通常情况下,对原始图像进行图像处理这一过程是通过电子设备中的GPU模块完成。采用电子设备中的GPU模块对原始图像进行处理的过程中,电子设备需要将图像传感器采集到的原始图像回传给相机应用程序,再由相机应用程序将原始图像传输给GPU模块执行图像处理。
下面以电子设备为手机为例,结合图2具体说明手机通过GPU模块对原始图像进行镜像翻转的过程。请参考图2,为一种手机通过GPU模块对原始图像进行镜像翻转的示意图。
S201、手机将图像传感器采集到的原始图像回传给相机应用程序。
S202、手机通过相机应用程序将原始图像传输给GPU模块执行镜像翻转。
由S201至S202可见,为了能够向用户展示镜像翻转后的图像,相机应用程序在从图像传感器获取原始图像(如称为图像1)之后,不能直接据此进行展示,而需要再将该原始图像传输给GPU模块进行镜像翻转。在获取GPU模块进行图像处理之后的图像(如称为图像2)时,相机应用程序才能够据此进行展示。例如,将该图像2进行编码处理,然后根据编码处理之后的图像在界面上进行展示。由此就会使得图像处理过程复杂,导致功耗开销较大。
为了解决上述问题,本申请实施例提供一种图像处理方法,能够使得图像传感器直接输出经过图像处理的图像。避免复杂的图像处理过程,减小电子设备对原始图像进行图像处理过程的功耗。
以下结合附图对本申请实施例提供的方案进行详细说明。需要说明的是,本申请实施例提供的图像处理方法,可以应用在用户的电子设备中。该电子设备可以是具有拍摄功能的设备。比如,该电子设备可以是手机、平板电脑、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、媒体播放器等具备拍摄功能的便携式移动设备,该电子设备也可以是智能手表等可穿戴电子设备。本申请实施例对该设备的具体形态不作特殊限制。
作为一种示例,请参考图3,为本申请实施例提供的一种电子设备300的组成示意图。本申请实施例提供的图像处理方法均可应用于如图3所示的电子设备300中。
如图3所示,该电子设备300可以包括处理器301,显示屏302,通信模块303等。
其中,处理器301可以包括一个或多个处理单元,例如:处理器301可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器,图像信号处理器(imagesignal processor,ISP),控制器,存储器,视频流编解码器,数字信号处理器(digitalsignal processor,DSP),基带处理器,和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器301中。
控制器可以是电子设备300的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器301中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器301中的存储器为高速缓冲存储器。该存储器可以保存处理器301刚用过或循环使用的指令或数据。如果处理器301需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器301的等待时间,因而提高了***的效率。
在一些实施例中,处理器301可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口304等。
电子设备300通过GPU,显示屏302,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏302和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器301可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏302用于显示图像,视频流等。显示屏302包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备300可以包括1个或N个显示屏302,N为大于1的正整数。
通信模块303可以包括天线1,天线2,移动通信模块,和/或无线通信模块。
如图3所示,在一些实现方式中,该电子设备300还可以包括外部存储器接口305,内部存储器306,USB接口304,充电管理模块307,电源管理模块308,电池309,音频模块310,传感器模块311,按键(图中未示出),马达(图中未示出),指示器(图中未示出),摄像头312,以及用户标识模块(subscriber identification module,SIM)卡接口等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备300的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
充电管理模块307用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块307可以通过USB接口304接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块307可以通过电子设备300的无线充电线圈接收无线充电输入。充电管理模块307为电池309充电的同时,还可以通过电源管理模块308为电子设备300供电。
电源管理模块308用于连接电池309,充电管理模块307与处理器301。电源管理模块308接收电池309和/或充电管理模块307的输入,为处理器301,内部存储器306,外部存储器,显示屏302,摄像头312,和通信模块303等供电。电源管理模块308还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块308也可以设置于处理器301中。在另一些实施例中,电源管理模块308和充电管理模块307也可以设置于同一个器件中。
外部存储器接口305可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备300的存储能力。外部存储卡通过外部存储器接口305与处理器301通信,实现数据存储功能。例如将音乐,视频流等文件保存在外部存储卡中。
内部存储器306可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器301通过运行存储在内部存储器306的指令,从而执行电子设备300的各种功能应用以及数据处理。内部存储器306可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备300使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器306可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备300中的传感器模块311可以包括图像传感器、触摸传感器、压力传感器、陀螺仪传感器、气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、环境光传感器、指纹传感器、温度传感器、骨传导传感器等部件,以实现对于不同信号的感应和/或获取功能。
按键包括开机键,音量键等。按键可以是机械按键。也可以是触摸式按键。电子设备300可以接收按键输入,产生与电子设备300的用户设置以及功能控制有关的键信号输入。
马达可以产生振动提示。马达可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏302不同区域的触摸操作,马达也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口用于连接SIM卡。SIM卡可以通过***SIM卡接口,或从SIM卡接口拔出,实现和电子设备300的接触和分离。电子设备300可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口可以同时***多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口也可以兼容不同类型的SIM卡。SIM卡接口也可以兼容外部存储卡。电子设备300通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备300采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备300中,不能和电子设备300分离。
在一些实施例中,电子设备300可以通过ISP,摄像头312,视频流编解码器,GPU,显示屏302以及应用处理器等实现拍摄功能。
ISP用于处理摄像头312反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头312感光元件上,光信号转换为电信号,摄像头312感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头312中。
摄像头312用于捕获静态图像或视频流。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备300可以包括1个或N个摄像头,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备300在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
可以理解的是,本实施例示意的结构并不构成对电子设备300的具体限定。在另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
请参考图4,为本申请实施例提供的一种电子设备的示意图。本申请实施例提供的图像处理方法应用于图3所示的电子设备300时,电子设备300中的软件可以划分为如图4所示的应用程序层401,硬件抽象层(Hardware Abstraction Layer,HAL)402以及驱动层403。
应用程序层401中可以安装有多个应用程序,其中可以包括用于实现拍摄功能的相机应用程序(camera application)。其中,相机应用程序的是指运行于操作***上,能够执行拍照任务的计算机程序。其中,操作***可以为安卓(AndroidTM)、视窗(WindowsTM)等。当相机应用程序的格式为安卓应用程序包(Android application package,APK)格式时,相机应用程序可以运行于安卓操作***上。在本申请实施例中,相机应用程序可以是有拍摄功能的应用程序。例如,功能为分享短视频的应用程序,如果具有拍摄功能,即可作为本申请实施例中相机应用程序。
硬件抽象层402是一个位于操作***内核与硬件电路之间的软件,通常用于将硬件抽象化,以实现操作***与硬件电路在逻辑层的交互。在本申请实施例中,硬件抽象层402可以包括能够实现相机应用程序与图像传感器在逻辑层交互的相机硬件抽象层(camera Hardware Abstraction Layer,camera HAL)。
驱动层403中可以安装有多个用于驱动硬件工作的驱动(driver)。在本申请实施例中,驱动层403可以包括用于驱动图像传感器404工作的图像传感器驱动(sensordriver)。
需要说明的是,应用程序层401,硬件抽象层402以及驱动层403中也可以包括其他内容,在此不做具体限定。
下面结合图3提供的电子设备300以及图4提供的电子设备300的软件划分,对本申请实施例提供的图像处理方法进行详细说明。
本申请实施例提供的图像处理方法可以应用于用户通过手机的前置摄像头进行拍照的场景。例如,用户通过手机的前置摄像头进行拍照时,手机可以将图像传感器所采集的原始图像进行镜像翻转后再显示在显示屏中,以贴近用户直观的视觉感受。
请参考图5,为本申请实施例提供的一种拍照的流程场景图。如图5所示,用户通过手机的前置摄像头进行拍照时,首先可以点击手机中相机应用程序的图标501启动该相机应用程序;然后可以点击相机应用程序中的镜像翻转控件502打开镜像翻转配置;最后可以点击相机应用程序中的拍摄控件503得到经过镜像翻转的图像,从而完成拍照。其中,相机应用程序为一种能够执行拍照任务的计算机程序,可以位于如图4所示的电子设备中的应用程序层401中。
上述相机应用程序在启动的过程中,可以判断图像传感器是否支持镜像翻转。例如,相机应用程序可以获取图像传感器的配置代码,通过判断配置代码中是否包括镜像翻转的配置代码确定该图像传感器是否支持镜像翻转。若图像传感器的配置代码中包括镜像翻转的配置代码,则该图像传感器支持镜像翻转;若图像传感器的配置代码中不包括镜像翻转的配置代码,则该图像传感器不支持镜像翻转。
若图像传感器不支持镜像翻转,则相机应用程序可以将图像传感器输出的图像发送至GPU模块,通过GPU模块完成对图像的镜像翻转过程。本申请主要说明图像传感器支持镜像翻转的场景。
在本申请实施例中,在确定图像传感器支持镜像翻转的情况下,可以根据以下图6-图14中任一种方案高效实现镜像翻转的效果。
若图像传感器支持镜像翻转,则相机应用程序可以为该图像传感器配置镜像翻转的属性,以使该图像传感器能够根据指令直接输出镜像翻转后的图像。示例性地,相机应用程序可以在图像传感器的配置代码中添加下述代码:
m(si,ss,se,HAL_CUSTOM_SUPPORT_SENSOR_MIRROR,"sensorSupportMirror",uint8_t,1)。
通过在图像传感器的配置代码中添加上述代码,可以使该图像传感器开启镜像翻转的属性。换句话说,可以使该图像传感器能够根据指令直接输出镜像翻转后的图像。本申请实施例中,第一属性可以包括上述镜像翻转的属性。
相机应用程序启动后,可以向图像传感器下发预设指令,指示图像传感器返回采集的图像。在一些实施例中,镜像翻转配置默认关闭,则上述预设指令指示图像传感器返回采集的原始图像。在另一些实施例中,镜像翻转配置默认开启,则上述预设指令可以指示图像传感器返回采集的原始图像,也可以携带配置参数,该配置参数指示图像传感器打开镜像寄存器,输出镜像翻转后的图像。其中,图像传感器当前采集到的图像可以为上述图像传感器采集的原始图像。
如图5所示,相机应用程序启动后,可以提供拍摄界面,该拍摄界面中可以包括镜像翻转控件502,用户可以通过点击该镜像翻转控件502开启或关闭镜像翻转配置。镜像翻转配置开启时,图像传感器会将采集的原始图像经过镜像翻转后输出;镜像翻转配置关闭时,图像传感器会将采集的原始图像输出。本申请实施例中,第二操作可以包括上述点击镜像翻转控件502。
该拍摄界面中还可以包括预览图像显示区域504。其中,预览图像显示区域504用于显示预览图像,用户可以通过观察预览图像调整拍摄角度,拍摄范围等拍摄参数。
在本申请实施例中,图像传感器可以对图像进行实时采集以显示预览图像。相机应用程序接收到拍摄指令时,会指示图像传感器将当前采集的图像经过相应地图像处理后存储至电子设备的存储模块。
需要说明的是,镜像翻转配置关闭时,预览图像与相机应用程序最终存储的图像相同。镜像翻转配置开启时,预览图像与相机应用程序存储的图像可以相同,也可以不同,下面分别说明。
预览图像与相机应用程序最终存储的图像可以相同,均为经过镜像翻转的图像。换句话说,预览图像是图像传感器将采集的原始图像经过镜像翻转后输出的图像,相机应用程序最终存储的图像也为图像传感器将采集的原始图像经过镜像翻转后输出的图像。如此,用户能够根据预览图像提前观看到相机应用程序最终存储的图像,有利于提高用户的使用体验。
此种情况下,以图5所示的场景为例,相机应用程序启动后,镜像翻转配置为关闭状态,预览图像为图像传感器采集的原始图像。用户通过点击镜像翻转控件502打开镜像翻转配置时,相机应用程序会向图像传感器下发配置参数,指示图像传感器打开镜像寄存器,输出镜像翻转后的图像,以便相机应用程序在预览图像显示区域504中显示该镜像翻转后的图像。用户点击相机应用程序中的拍摄控件503时,相机应用程序会向图像传感器下发拍摄指令,指示图像传感器返回镜像翻转后的图像,以便相机应用程序将该镜像翻转后的图像存储至存储模块。
预览图像与相机应用程序最终存储的图像可以不同,两者为镜像对称关系。其中,预览图像为图像传感器直接输出的原始图像,相机应用程序最终存储的图像为图像传感器将原始图像经过镜像翻转后输出的图像。如此,有利于减小图像传感器的功耗。
此种情况下,以图5所示的场景为例,相机应用程序启动后,镜像翻转配置为关闭状态,预览图像为图像传感器采集的原始图像。用户通过点击镜像翻转控件502打开镜像翻转配置,并且点击相机应用程序中的拍摄控件503时,相机应用程序会向图像传感器下发携带配置信息的拍摄指令,指示图像传感器打开镜像寄存器,返回镜像翻转后的图像,以便相机应用程序将该镜像翻转后的图像存储至存储模块。本申请实施例中,拍摄操作可以为上述点击相机应用程序中的拍摄控件503。第三操作可以为上述点击镜像翻转控件502打开镜像翻转配置,并且点击相机应用程序中的拍摄控件502。
上述图5基于场景的角度对用户通过手机的前置摄像头进行拍照的流程进行了说明。下面基于设备执行的角度,对用户通过手机的前置摄像头进行拍照的流程再次进行说明。
这里介绍预览图像与相机应用程序最终存储的图像相同时的拍照流程。请参考图6,为一种图像处理方法的流程示意图。该流程可以包括S601-S613。
S601、启动相机应用程序。
其中,相机应用程序为一种能够执行拍照任务的计算机程序,可以位于如图4所示的电子设备中的应用程序层401中。
在一些实施例中,电子设备的用户界面可以提供相机应用程序的图标。当电子设备检测到用户针对该图标的点击、双击、长按等操作时,可以启动相机应用程序。例如,如图5所示,可以通过点击图5中相机应用程序的图标501启动相机应用程序。
在另一些实施例中,电子设备中可以安装有语音助手,该语音助手可以位于图4所示的电子设备中的应用程序层401,且具有启动相机应用程序的权限。当电子设备中的语音助手检测到用户启动相机应用程序的语音指令时,可以启动相机应用。
另外,也可以通过手势启动相机应用程序,手势可以为握拳,伸开手掌等。请参考图7,为本申请实施例提供的一种手势的示意图。如图7所示,启动相机应用程序的手势可以为握拳。例如,电子设备通过摄像头检测到握拳的手势时,可以启动相机应用程序。请参考图8,为本申请实施例提供的又一种手势的示意图。如图8所示,启动相机应用程序的手势可以为伸开手掌。例如,电子设备通过摄像头检测到伸开手掌的手势时,可以启动相机应用程序。本申请实施例中,第一操作可以为上述针对相机应用程序图标的点击、双击、长按等操作,也可以为上述语音指令,还可以为上述图7和/图8所示的手势,在此不做具体限定。
S602、相机应用程序启动过程中,判断图像传感器是否支持镜像翻转。
其中,相机应用程序判断图像传感器是否支持镜像翻转的过程可以参考图5所示方案的说明。即相机应用程序可以获取图像传感器的代码,通过判断配置代码中是否包括镜像翻转的配置代码确定该图像传感器是否支持镜像翻转,此处不再赘述。
S603a、若不支持,相机应用程序将图像传感器输出的图像发送至GPU模块,通过GPU模块完成对图像的镜像翻转。
S603b、若支持,相机应用程序为该图像传感器配置镜像翻转的属性。
本申请实施例中,相机应用程序为图像传感器配置镜像翻转的属性的过程可以参考图5所示的方案。即相机应用程序可以在图像传感器的配置代码中添加代码,以使图像传感器能够根据指令直接输出镜像翻转后的图像。其中,第一属性可以包括上述镜像翻转的属性。
S604、相机应用程序判断镜像翻转配置是否开启。
示例性地,相机应用程序的拍摄界面中可以包括镜像翻转控件,相机应用程序可以根据镜像翻转控件的状态判断镜像翻转配置是否开启。其中,镜像翻转控件可以为图5所示的镜像翻转控件502。镜像翻转控件的状态可以包括开启状态以及关闭状态。镜像翻转控件处于开启状态指示镜像翻转配置开启,镜像翻转控件处于关闭状态指示镜像翻转配置关闭。
本申请实施例中,第一配置可以包括上述镜像翻转配置。
S605a、若镜像翻转配置关闭,相机应用程序向图像传感器下发预设指令。其中,该预设指令用于指示图像传感器返回采集的原始图像,以便相机应用程序在预览图像显示区域中显示该原始图像。
其中,原始图像为没有经过镜像翻转的图像。镜像翻转配置关闭时,预览图像即为原始图像。
预览图像显示区域用于显示预览图像,以便于用户通过观察预览图像调整拍摄角度,拍摄范围等拍摄参数。示例性地,如图5所示,预览图像显示区域可以为图5所示的预览图像显示区域504。
S605b、若镜像翻转配置开启,相机应用程序向图像传感器下发配置参数。其中,该配置参数用于指示图像传感器返回镜像翻转后的图像,以便相机应用程序在预览图像显示区域中显示该镜像翻转后的图像。跳转至S609。
本申请实施例中,配置参数也可以称作第一参数。
其中,配置参数具体用于指示图像传感器打开镜像寄存器,从而使图像传感器输出镜像翻转后的图像。
S606、图像传感器根据预设指令将采集的原始图像发送至相机应用程序。
S607、相机应用程序在预览图像显示区域显示该原始图像。
S608、响应于打开镜像翻转配置,相机应用程序向图像传感器下发配置参数。
在一些实施例中,如图5所示,可以通过点击图5中的镜像翻转控件502打开镜像翻转配置。
在另一些实施例中,可以通过如图7和/或图8所示的手势打开镜像翻转配置。
另外,也可以通过语音指令打开镜像翻转配置。语音指令可以为“打开镜像翻转”,“开启镜像”等。例如,当电子设备检测到语音指令“开启镜像”时,可以打开镜像翻转配置。
本申请实施例中,第二操作可以包括上述点击图5中的镜像翻转控件502,如图7和/或图8所示的手势,以及上述语音指令。
S609、图像传感器根据配置参数打开镜像寄存器,以将镜像翻转后的图像发送至相机应用程序。
本申请实施例中,图像传感器包括镜像寄存器。镜像寄存器打开时,图像传感器输出经过镜像翻转的图像;镜像寄存器关闭时,图像传感器输出原始图像。
S610、相机应用程序在预览图像的显示区域显示该镜像翻转后的图像。
S611、响应于点击相机应用程序中的拍摄控件,相机应用程序向图像传感器下发拍摄指令。其中,拍摄指令用于指示图像传感器返回镜像翻转后的图像,以便相机应用程序将该镜像翻转后的图像存储至存储模块。
其中,拍摄控件可以为图5所示的拍摄控件503。当电子设备检测到针对该拍摄控件503的点击操作时,会向图像传感器下发拍摄指令。如图5所示,本申请实施例中的拍摄控件503可以呈圆形,且位于电子设备显示屏的边界处。如此,既有利于提高相机应用程序的用户界面的美观性,又能够使用户握持电子设备时能够轻松地选择到拍摄控件503,提高相机应用程序的易用性。
本申请实施例中,也可以通过实体按键触发相机应用程序向图像传感器下发拍摄指令。实体按键例如电子设备中提供的拍摄按钮。示例性地,电子设备可以在检测到拍摄按钮被按下时,向图像传感器下发拍摄指令。
请参考图9,为本申请实施例提供的一种拍摄按钮的示意图。示例性地,该拍摄按钮901可以设置于电子设备的边框处。如此,以便于用户握持电子设备时能够轻松地选择到拍摄按钮901,提高相机应用程序的易用性。
在不同实现中,该拍摄按钮901的功能也可以通过其他已有实体按键实现,比如,通过音量调节按钮实现该拍摄按钮901的功能等。
需要说明的时,也可以通过语音指令、手势等方式触发相机应用程序向图像传感器下发拍摄指令,语音指令可以为“拍摄”,“茄子”等。手势可以为如图7和/或图8所示的手势。
S612、图像传感器根据拍摄指令将镜像翻转后的图像发送至相机应用程序。
S613、相机应用程序将镜像翻转后的图像存储至存储模块。
其中,存储模块可以为电子设备中的存储器,存储卡等,在此不做限定。
上述图6介绍了预览图像与相机应用程序最终存储的图像相同时的拍照流程,下面介绍预览图像与相机应用程序最终存储的图像不同时的拍照流程。请参考图10,为又一种图像处理方法的流程示意图。该流程可以包括S1001-S1013。
S1001、启动相机应用程序。
S1002、相机应用程序启动过程中,判断图像传感器是否支持镜像翻转。
S1003a、若不支持,相机应用程序将图像传感器输出的图像发送至GPU模块,通过GPU模块完成对图像的镜像翻转。
S1003b、若支持,相机应用程序为该图像传感器配置镜像翻转的属性。
S1004、相机应用程序判断镜像翻转配置是否开启。
S1005a、若镜像翻转配置关闭,相机应用程序向图像传感器下发预设指令。其中,该预设指令用于指示图像传感器返回采集的原始图像,以便相机应用程序在预览图像显示区域中显示该原始图像。
其中,上述S1001-S1005a的具体实现可以参考上述图6所示方案中的S601-S605a,此处不再赘述。
S1005b、若镜像翻转配置开启,响应于点击相机应用程序中的拍摄控件,相机应用程序向图像传感器下发配置参数。其中,配置参数用于指示图像传感器打开镜像寄存器,输出镜像翻转后的图像。跳转至S1009。
示例性地,上述拍摄控件可以为图5所示的拍摄控件503。当电子设备检测到镜像翻转配置开启,且检测到针对该拍摄控件503的点击操作时,会向图像传感器下发配置参数。上述拍摄控件也可以为图9所示的拍摄按钮901,此处不再赘述。
图像传感器可以包括镜像寄存器。镜像寄存器打开时,图像传感器输出经过镜像翻转的图像;镜像寄存器关闭时,图像传感器输出原始图像。其中,配置参数可以指示图像传感器打开镜像寄存器,从而使图像传感器输出镜像翻转后的图像。
需要说明的是,也可以通过语音指令、手势等方式触发相机应用程序向图像传感器下发拍摄指令。手势可以为如图7所示的握拳手势,也可以为如图8所示的伸开手掌手势,还可以为翻转手掌手势,在此不做具体限定。
本申请实施例中,拍摄操作可以为上述针对拍摄控件503的点击操作,如图7所示的握拳手势,如图8所示的伸开手掌手势,翻转手掌手势,语音指令等,在此不做具体限定。
S1006、图像传感器根据预设指令将采集的原始图像发送至相机应用程序。
S1007、相机应用程序在预览图像显示区域显示该原始图像。
S1008、响应于开启镜像翻转配置以及点击相机应用程序中的拍摄控件,相机应用程序向图像传感器下发配置参数。其中,配置参数用于指示图像传感器打开镜像寄存器,输出镜像翻转后的图像。
其中,开启镜像翻转配置的具体实现可以参考S608的相关说明,此处不再赘述。
在一些实施例中,可以通过语音指令触发相机应用程序向图像传感器下发配置参数。语音指令可以为“拍摄镜像”,“打开镜像后拍摄”等。例如,当电子设备检测到语音指令“拍摄镜像”时,可以向图像传感器下发配置参数。
在另一些实施例中,可以通过如图7和/或图8所示的手势触发相机应用程序向图像传感器下发配置参数。本申请实施例中,第三操作可以包括上述开启镜像翻转配置的操作以及上述语音指令,如图7和/或图8所示的手势等。
S1009、图像传感器根据配置参数将镜像翻转后的图像发送至相机应用程序。
S1010、相机应用程序将镜像翻转后的图像存储至存储模块。
其中,存储模块可以为电子设备中的存储器,存储卡等,在此不做限定。
S1011、相机应用程序向图像传感器下发预设指令。其中,预设指令用于指示图像传感器关闭镜像寄存器,返回采集的原始图像,以便相机应用程序在预览图像显示区域中显示该原始图像。
相机应用程序将镜像翻转后的图像存储至存储模块后,相机应用程序的预览图像显示区域可以继续显示预览图像,以便用户继续进行拍摄。预览图像为没有经过镜像翻转的图像,因此相机应用程序还需要向图像传感器下发预设指令指示图像传感器返回原始图像。
S1012、图像传感器根据预设指令关闭镜像寄存器,将采集的原始图像发送至相机应用程序。
S1013、相机应用程序在预览图像显示区域显示该原始图像。
如此,相机应用程序可以在预览图像显示区域显示没有经过镜像翻转的原始图像,以便用户继续进行拍摄。
需要说明的是,上述图6和图10中的各步骤的所有相关内容均可以援引上述图5涉及的相关内容,本申请实施例中,电子设备通过图像传感器对采集的原始图像进上下翻转,旋转的过程与上述镜像翻转的过程类似,此处不再赘述。
上述图6所示的方案中,当镜像翻转配置由关闭状态更改为开启状态时,相机应用程序会向图像传感器下发镜像翻转的配置参数,使图像传感器输出经过镜像翻转的图像,预览图像从原始图像更改为经过镜像翻转的图像。
上述图10所示的方案中,当镜像翻转配置由关闭状态更改为开启状态时,预览图像不会变化,图像传感器输出的仍为未经过镜像翻转的原始图像。当电子设备检测到镜像翻转配置处于开启状态,且检测到拍摄操作时,或检测到第三操作时,相机应用程序会向图像传感器下发镜像翻转的配置参数,以使图像传感器输出经过镜像翻转的图像。其中,拍摄操作和第三操作可以参考S905b和S908的相关说明,此处不再赘述。
也就是说,图6所示的方案与图10所示的方案均包括相机应用程序向图像传感器下发配置参数至图像传感器返回经过图像处理后的图像这一过程。下面对该过程进行说明。
请参考图11,为本申请实施例提供的一种图像处理方法的交互图。如图11所示,本申请实施例提供的图像处理方法可以包括S1101-S1105。
S1101、相机应用程序向相机硬件抽象层发送配置参数,配置参数用于指示图像传感器将当前采集到的图像进行第一处理后返回。其中,相机应用程序为一种能够执行拍照任务的计算机程序,可以位于如图4所示的电子设备中的应用程序层401中。相机硬件抽象层可以位于如图4所示的硬件抽象层402中。
本申请实施例中,配置参数也可称作第一参数。
在一些实施例中,配置参数可以用于指示图像传感器是否对当前采集的图像进行翻转以及翻转的类型。翻转的类型可以包括:上下翻转、左右翻转等。其中,左右翻转即为如图1所示的镜像翻转,后续不再赘述。
在另一些实施例中,配置参数还可以用于指示图像传感器是否将当前采集的图像旋转预设角度,预设角度可以为90°、180°、270°等,在此不做限定。
示例性地,配置参数可以包括以下中的至少一项:上下翻转参数、镜像翻转参数、旋转参数等。
在一些实施例中,在配置参数中,可以通过数字表示上下翻转参数、镜像翻转参数以及旋转参数。作为一种示例,参数值为1指示对应的配置开启,参数值为0指示对应的配置关闭。例如,若镜像翻转参数为1,则指示镜像翻转配置开启,也即指示图像传感器对当前采集的图像进行镜像翻转。
在另一些实施例中,在配置参数中,可以通过字符串表示上下翻转参数、镜像翻转参数以及旋转参数。作为一种示例,配置参数中包括对应的字符串指示对应的配置开启,配置参数中不包括对应的字符串指示对应的配置关闭。例如,若配置参数中包括字符串“sensorSupportMirror”,则指示镜像翻转的配置开启,也即指示图像传感器对当前采集的图像进行镜像翻转。
S1102、电子设备的相机硬件抽象层根据配置参数向图像传感器驱动发送图像处理指令。
其中,图像传感器驱动可以位于如图4所示的驱动层403中。
本申请实施例中,图像处理指令也可称作第一指令,图像处理指令包括配置参数指示开启的配置。指示开启的配置可以包括以下至少一项:上下翻转、镜像翻转以及旋转。
示例性地,电子设备的相机硬件抽象层可以根据配置参数确定图像处理指令。沿用S1101中通过字符串表示上下翻转参数、镜像翻转参数以及旋转参数的举例。在一些实施例中,电子设备可以通过相机硬件抽象层逐一或并行地判断上下翻转参数、镜像翻转参数以及旋转参数的字符串是否存在,并根据判断结果生成图像处理指令。作为一种示例,判断镜像翻转参数的字符串是否存在的代码可以如下所示:
if(GetMetadataByTag(sensorSupportMirror)==true)
{
setSensorMirrorSetting()
}。
其中,if(GetMetadataByTag(sensorSupportMirror)==true是指相机硬件抽象层判断配置参数是否包含镜像翻转的配置sensorSupportMirror,若是,即
GetMetadataByTag(sensorSuppo rtMirror)==true。
则执行函数setSensorMirrorSetting(),从而生成指示图像传感器对采集的图像进行镜像翻转的图像处理指令。
在另一些实施例中,电子设备可以通过相机硬件抽象层逐一或并行地判断上下翻转参数、镜像翻转参数以及旋转参数是否为1,并根据判断结果生成图像处理指令。
本申请实施例中的图像处理指令可以为数字、字母或者数字与字母的结合。以图像处理指令为数字为例,数字的不同位可以指示不同的参数,数字的值可以指示对应的配置是否开启。例如,数字的第一位指示上下翻转参数,数字的第二位指示镜像翻转参数,数字的第三位指示旋转参数,1指示对应的配置开启,0指示对应的配置关闭。在此基础上,若图像处理指令为010,则指示上下翻转配置关闭、镜像翻转配置开启以及旋转配置关闭。需要说明的是,旋转参数用于指示图像传感器是否将采集的图像旋转预设角度。预设角度可以为90°、180°、270°等,在此不做限定。
S1103、电子设备的图像传感器驱动根据图像处理指令像图像传感器发送第一驱动指令。
S1104、电子设备的图像传感器根据第一驱动指令对采集的图像进行第一处理,得到第一图像。
本申请实施例中,第一驱动指令也可称作第二指令,第一驱动指令为图像传感器能够直接应用的指令。相机硬件抽象层为软件,图像传感器为硬件。图像传感器驱动能够将相机硬件抽象层输出的图像处理指令转换为图像传感器能够识别的第一驱动指令。
其中,第一驱动指令中可以包括配置参数指示开启的配置。第一处理可以为指示开启的配置对应的处理。例如,指示开启的配置为上下翻转配置,对应地,第一处理可以为上下翻转;指示开启的配置为镜像翻转配置,对应地,第一处理可以为镜像翻转。
示例性地,第一驱动指令中指示开启的配置为镜像翻转。则图像传感器驱动可以驱动图像传感器对采集的图像进行镜像翻转,并将镜像翻转后的图像作为第一图像。
本申请实施例中,图像处理指令中开启的配置为多个时,可以按照预设的顺序对采集的图像进行第一处理,其中,预设顺序可以为先进行上下翻转,然后进行镜像翻转,最后进行旋转。例如,第一驱动指令中指示开启的配置为上下翻转、镜像翻转以及旋转,则图像传感器驱动可以驱动图像传感器先对采集的图像进行上下翻转,然后驱动图像传感器对上下翻转后的图像进行镜像翻转,最后驱动图像传感器对镜像翻转后的图像旋转预设角度,得到第一图像。可以理解的是,这里只是示例性说明,并不代表本申请局限于此。
在一种可能的设计中,针对能够识别并应用第一指令的图像传感器,本申请实施例中的相机硬件抽象层可以直接将第一指令发送至图像传感器,使图像传感器直接根据第一指令对当前采集到的图像进行第一处理,从而提高图像处理效率。
S1105、图像传感器将第一图像返回至相机应用程序,以使相机应用程序显示第一图像。
需要说明的是,第一图像即是图像传感器将当前采集到的图像经过第一处理后得到的图像。例如,第一处理为镜像翻转,第一图像即是图像传感器将当前采集到的图像经过镜像翻转后得到的图像。
如此,电子设备无需再通过相机应用程序将原始图像传输给GPU模块执行图像处理,而是通过图像处理器直接输出经过图像处理的第一图像,从而减小图像处理的功耗,提高图像处理效率。
上述图11是从各个模块交互的角度对本申请所述方案进行说明的,以下结合图12,从电子设备的角度,继续对本申请实施例提供的方案进行说明。请参考图12,为本申请实施例提供的一种图像处理方法的流程图。如图12所示,本申请实施例提供的图像处理方法可以包括S1201-S1205。
S1201、电子设备生成配置参数。
S1202、电子设备根据配置参数生成图像处理指令。
S1203、电子设备根据图像处理指令生成第一驱动指令。
S1204、电子设备根据第一驱动指令对当前采集到的图像进行第一处理,得到第一图像。
S1205、电子设备显示第一图像。
需要说明的是,上述图12中的各步骤的所有相关内容均可以援引上述图11涉及的对应步骤,在此不再赘述。
在上述图11或图12的方案说明中,配置参数还可以包括指示图像所需尺寸的尺寸参数,图像传感器输出的第一图像可能不符合该尺寸参数,并且第一图像的格式也无法直接进行显示。因此,请参考图13,为本申请实施例提供的又一种图像处理方法的交互图。
结合图11的说明,S1105可以包括下述S1301-S1305。
S1301、图像传感器将第一图像发送至图像传感器的驱动。
S1302、图像传感器的驱动对第一图像进行编码转换,生成第二图像,第二图像为相机硬件抽象层能够直接识别的图像。
相机硬件抽象层为软件,图像传感器为硬件。图像传感器的驱动能够将图像传感器输出的第一图像经过编码转换生成相机硬件抽象层能够识别的第二图像。
S1303、电子设备的相机硬件抽象层根据配置参数对第二图像进行第二处理,得到第三图像。其中,第二处理可以包括图像裁切等。
示例性地,配置参数中还可以包括尺寸参数。在此基础上,电子设备的相机硬件抽象层可以根据尺寸参数对第二图像进行第二处理,以将第二图像裁切为尺寸参数中所指示的尺寸。例如,尺寸参数中所指示的图像尺寸为640dpi×480dpi,则电子设备的相机硬件抽象层将第二图像裁切为640dpi×480dpi的第三图像。
S1304、电子设备的编码模块对第三图像进行编码,得到第四图像。
需要说明的是,编码模块对第三图像进行编码是指将第三图像的格式转换为联合图像专家组(Joint Photographic Experts Group,JPEG)格式。如此,有利于减小第四的空间占用,且便于电子设备直接显示第四。
在一些实施例中,编码模块可以为电子设备中的内置软件,对第三图像进行软件编码。如此,有利于减小编码过程的功耗。
在另一些实施例中,编码模块可以为电子设备中的协处理器,对第三图像进行硬件编码。如此,有利于提高编码效率。
S1305、电子设备的相机应用程序对第四图像进行显示。
需要说明的是,电子设备的相机应用程序也可以将第四图像存储至存储模块中。以便于用户在需要时查看,提高用户体验。其中,存储模块可以为电子设备中的存储器,安装于电子设备中的存储卡等,在此不做限定。
至此,本领域技术人员应当对本申请实施例提供的图像处理方法有清楚明确的了解。需要说明的是,上述示例中,仅以集成有相机的电子设备为例,在本申请的另一些实现方式中,该电子设备可以为相机,上述相机应用程序可以为相机的操作***。其具体的执行方式可参考上述示例,对此不再赘述。
上述主要从电子设备(如手机)的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对其中涉及的设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参考图14,为本申请实施例提供的一种电子设备1400的组成示意图。该电子设备1400可以为上述示例中的任一种电子设备,例如,该电子设备1400可以为手机、电脑等。示例性的,如图14所示,该电子设备1400可以包括:处理器1401和存储器1402。该存储器1402用于存储计算机执行指令。示例性的,在一些实施例中,当该处理器1401执行该存储器1402存储的指令时,可以使得该电子设备1400执行上述实施例中电子设备的任一种功能,以实现以上示例中的任一种图像处理方法。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图15示出了的一种芯片***1500的组成示意图。该芯片***1500可以设置于电子设备中。例如该芯片***1500可以设置于手机中。示例性的,该芯片***1500可以包括:处理器1501和通信接口1502,用于支持电子设备实现上述实施例中所涉及的功能。在一种可能的设计中,芯片***1500还包括存储器,用于保存电子设备必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包含芯片和其他分立器件。需要说明的是,在本申请的一些实现方式中,该通信接口1502也可称为接口电路。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在上述实施例中的功能或动作或操作或步骤等,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。

Claims (13)

1.一种图像处理方法,其特征在于,应用于电子设备,所述电子设备包括相机应用程序和图像传感器,所述方法包括:
响应于第一操作,启动所述相机应用程序;
所述相机应用程序向所述图像传感器下发第一参数,所述第一参数用于指示所述图像传感器将当前采集到的图像进行第一处理后返回;所述第一处理包括以下至少一项:翻转处理,旋转处理;
所述图像传感器根据所述第一参数,对当前采集到的图像进行所述第一处理,生成第一图像;
所述图像传感器将所述第一图像返回至所述相机应用程序,以使所述相机应用程序显示所述第一图像;
在所述第一处理为所述翻转处理中的镜像翻转时,所述第一参数用于指示所述图像传感器打开镜像寄存器;所述相机应用程序向所述图像传感器下发第一参数,包括:
所述相机应用程序判断镜像翻转配置是否开启;所述镜像翻转配置由镜像翻转控件控制开启,所述镜像翻转控件设置于所述相机应用程序的拍摄界面中;
若所述镜像翻转配置开启,所述相机应用程序向所述图像传感器下发所述第一参数;
若所述镜像翻转配置关闭,响应于第二操作,所述相机应用程序向所述图像传感器下发所述第一参数,所述第二操作包括点击所述镜像翻转控件开启所述镜像翻转配置的操作。
2.根据权利要求1所述的图像处理方法,其特征在于,所述方法还包括:
若所述镜像翻转配置关闭,所述相机应用程序向所述图像传感器下发预设指令,所述预设指令用于指示所述图像传感器返回当前采集到的图像。
3.根据权利要求1-2任一项所述的图像处理方法,其特征在于,所述响应于第一操作,启动所述相机应用程序之后,所述方法还包括:
所述相机应用程序判断所述图像传感器是否支持对当前采集到的图像进行所述第一处理;
若支持,所述相机应用程序为所述图像传感器配置第一属性,所述第一属性用于指示所述图像传感器接收到所述第一参数时,将当前采集到的图像进行所述第一处理后返回。
4.根据权利要求1所述的图像处理方法,其特征在于,
在所述第一处理包括所述翻转处理时,所述第一参数包括翻转参数,所述翻转参数用于指示所述图像传感器将当前采集到的图像进行翻转处理后返回;
在所述第一处理包括所述旋转处理时,所述第一参数包括旋转参数,所述旋转参数用于指示所述图像传感器将当前采集到的图像进行旋转处理后返回。
5.根据权利要求4所述的图像处理方法,其特征在于,所述电子设备还包括相机硬件抽象层;
所述相机应用程序向所述图像传感器下发第一参数,包括:
所述相机应用程序向所述相机硬件抽象层发送所述第一参数;
所述相机硬件抽象层根据所述第一参数生成第一指令,所述第一指令用于指示所述图像传感器将当前采集到的图像进行所述第一处理后返回;
所述相机硬件抽象层向所述图像传感器下发所述第一指令;
所述图像传感器根据所述第一参数,对当前采集到的图像进行所述第一处理,包括:
所述图像传感器根据所述第一指令,对当前采集到的图像进行所述第一处理。
6.根据权利要求5所述的图像处理方法,其特征在于,所述电子设备还包括图像传感器的驱动;
所述图像传感器根据所述第一指令对当前采集到的图像进行所述第一处理,包括:
所述图像传感器的驱动根据所述第一指令,生成第二指令,所述第二指令是所述图像传感器能够直接应用的指令,所述第二指令用于指示所述图像传感器将当前采集到的图像进行所述第一处理后返回;
所述图像传感器根据所述第二指令对当前采集到的图像进行所述第一处理。
7.根据权利要求5或6所述的图像处理方法,其特征在于,所述第一指令包括以下中的一项:第一处理指令,第二处理指令,第三处理指令;
所述相机硬件抽象层根据所述第一参数生成第一指令,包括:
在所述第一参数中包括所述翻转参数时,所述相机硬件抽象层生成第一处理指令,所述第一处理指令用于指示所述图像传感器将当前采集到的图像进行所述翻转处理后返回;
在所述第一参数中包括所述旋转参数时,所述相机硬件抽象层生成第二处理指令,所述第二处理指令用于指示所述图像传感器将当前采集到的图像进行所述旋转处理后返回;
在所述第一参数中包括所述翻转参数和所述旋转参数时,所述相机硬件抽象层生成第三处理指令,所述第三处理指令用于指示所述图像传感器将当前采集到的图像进行所述翻转处理和所述旋转处理后返回。
8.根据权利要求1-2任一项所述的图像处理方法,其特征在于,所述电子设备还包括相机硬件抽象层,图像传感器的驱动以及编码模块;所述第一参数还包括尺寸参数,所述尺寸参数用于指示所述相机硬件抽象层对所述第一图像进行第二处理,所述第二处理至少包括裁切处理;
所述图像传感器将所述第一图像返回至所述相机应用程序,以使所述相机应用程序显示所述第一图像,包括:
所述图像传感器将所述第一图像发送至所述图像传感器的驱动;
所述图像传感器的驱动对所述第一图像进行编码转换,生成第二图像,所述第二图像为所述相机硬件抽象层能够直接识别的图像;
所述相机硬件抽象层根据所述尺寸参数对所述第二图像进行第二处理,生成第三图像;
所述编码模块对所述第三图像进行格式转换,生成第四图像;
所述编码模块将所述第四图像发送至所述相机应用程序,以使所述相机应用程序显示所述第四图像。
9.根据权利要求1所述的图像处理方法,其特征在于,所述翻转处理包括以下至少一项:镜像翻转,上下翻转。
10.根据权利要求1所述的图像处理方法,其特征在于,所述旋转处理包括以下中的一项:旋转90度,旋转180度,旋转270度。
11.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器存储有计算机指令;
当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-10中任一项所述的图像处理方法。
12.一种芯片***,其特征在于,所述芯片包括处理电路和接口;所述处理电路用于从存储介质中调用并运行所述存储介质中存储的计算机程序,以执行如权利要求1-10中任一项所述的图像处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,当所述计算机指令运行时,执行如权利要求1-10中任一项所述的图像处理方法。
CN202111657813.4A 2021-12-30 2021-12-30 一种图像处理方法和电子设备 Active CN115034948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111657813.4A CN115034948B (zh) 2021-12-30 2021-12-30 一种图像处理方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111657813.4A CN115034948B (zh) 2021-12-30 2021-12-30 一种图像处理方法和电子设备

Publications (2)

Publication Number Publication Date
CN115034948A CN115034948A (zh) 2022-09-09
CN115034948B true CN115034948B (zh) 2023-06-16

Family

ID=83117981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111657813.4A Active CN115034948B (zh) 2021-12-30 2021-12-30 一种图像处理方法和电子设备

Country Status (1)

Country Link
CN (1) CN115034948B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117221713B (zh) * 2023-11-09 2024-05-17 荣耀终端有限公司 参数加载方法和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62154967A (ja) * 1985-12-27 1987-07-09 Canon Inc 画像処理装置
CN105959544A (zh) * 2016-05-23 2016-09-21 维沃移动通信有限公司 一种移动终端的图像处理方法及移动终端
CN113014804A (zh) * 2021-02-04 2021-06-22 维沃移动通信有限公司 图像处理方法、装置、电子设备和可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101034493B1 (ko) * 2004-01-09 2011-05-17 삼성전자주식회사 화상 변환 장치, 화상 변환을 위한 직접 메모리 액세스장치 및 화상 변환을 지원하는 카메라 인터페이스
JP2006287715A (ja) * 2005-04-01 2006-10-19 Seiko Epson Corp 画像処理コントローラ及び電子機器
US8098959B2 (en) * 2008-10-29 2012-01-17 Aptina Imaging Corporation Method and system for frame rotation within a JPEG compressed pipeline
KR20120017670A (ko) * 2010-08-19 2012-02-29 삼성전자주식회사 화상 통신 방법 및 장치
CN105163017B (zh) * 2013-03-25 2019-04-19 北京字节跳动网络技术有限公司 一种自拍图像的展现方法及装置
CN104243831A (zh) * 2014-09-30 2014-12-24 北京金山安全软件有限公司 通过移动终端进行拍摄的方法、装置及移动终端
WO2018076156A1 (zh) * 2016-10-25 2018-05-03 上海思恩电子信息科技有限公司 一种用于显示自己在他人眼里真实动态影像的自拍相机
WO2019056242A1 (zh) * 2017-09-21 2019-03-28 深圳传音通讯有限公司 一种智能终端的相机拍摄参数设置方法、设置装置及智能终端
CN108055463A (zh) * 2017-12-26 2018-05-18 努比亚技术有限公司 图像处理方法、终端及存储介质
US11158028B1 (en) * 2019-10-28 2021-10-26 Snap Inc. Mirrored selfie
US11948316B2 (en) * 2020-03-11 2024-04-02 Samsung Electronics Co., Ltd. Camera module, imaging device, and image processing method using fixed geometric characteristics
CN112929561B (zh) * 2021-01-19 2023-04-28 北京达佳互联信息技术有限公司 一种多媒体数据处理方法、装置、电子设备及存储介质
CN113079316B (zh) * 2021-03-26 2023-04-18 维沃移动通信有限公司 图像处理方法、图像处理装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62154967A (ja) * 1985-12-27 1987-07-09 Canon Inc 画像処理装置
CN105959544A (zh) * 2016-05-23 2016-09-21 维沃移动通信有限公司 一种移动终端的图像处理方法及移动终端
CN113014804A (zh) * 2021-02-04 2021-06-22 维沃移动通信有限公司 图像处理方法、装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
CN115034948A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
JP7142783B2 (ja) 音声制御方法及び電子装置
CN107925738B (zh) 用于提供图像的方法、电子设备
JP2022501741A (ja) システムナビゲーションバー表示方法、システムナビゲーションバー制御方法、グラフィカルユーザインターフェース、および電子機器
CN112136100A (zh) 一种拍摄的方法及电子设备
CN110633043A (zh) 一种分屏处理方法及终端设备
CN109616058B (zh) 数据传输方法及装置、液晶显示装置
CN115484380B (zh) 拍摄方法、图形用户界面及电子设备
US20220249946A1 (en) Application running method and electronic device
CN105427369A (zh) 移动终端及其三维形象的生成方法
CN114866860B (zh) 一种播放视频的方法及电子设备
CN111512225A (zh) 包括相机的电子设备和电子设备控制方法
CN110955373A (zh) 一种显示要素的显示方法和电子设备
CN115034948B (zh) 一种图像处理方法和电子设备
CN115589051A (zh) 充电方法和终端设备
CN109117466B (zh) 表格格式转换方法、装置、设备及存储介质
CN112449101A (zh) 一种拍摄方法及电子设备
CN112584037B (zh) 保存图像的方法及电子设备
CN114065312A (zh) 一种组件显示方法及电子设备
CN115238255A (zh) 解锁方法及电子设备
CN116826892B (zh) 充电方法、充电装置、电子设备及可读存储介质
CN110321059B (zh) 数据处理方法、装置及计算机可读存储介质
CN110992954A (zh) 语音识别的方法、装置、设备及存储介质
CN114388001A (zh) 多媒体文件的播放方法、装置、设备及存储介质
CN116719569B (zh) 启动应用的方法及装置
CN115484394B (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