一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

画面边角生成方法、装置、电子设备及存储介质与流程

2021-10-27 14:38:00 来源:中国专利 TAG:
1.本技术一般涉及图像处理
技术领域
:,具体涉及一种画面边角生成方法、装置、电子设备及存储介质。
背景技术
::2.在现代社会中,手机、平板电脑等电子设备已经得到了广泛地普及和应用。人们通过这些电子设备浏览页面、获取资讯以及玩游戏等,极大地丰富了日常生活。3.由于电子设备的屏幕外观从直角朝着圆角的方向发展,相应地画面显示也需要进行调整,以适应屏幕形状的变化。目前,相关技术中采用opengl等3d图像处理工具对画面的边角进行处理。4.在实现本发明的过程中,发明人发现相关技术中至少存在如下问题:经过处理的画面边角会存在毛刺现象,曲线不平滑,这会造成边缘像素的模糊,极大影响了画面的显示质量。技术实现要素:5.鉴于相关技术中的上述缺陷或不足,期望提供一种画面边角生成方法、装置、电子设备及存储介质,画面边角平滑清晰,有效提升了画面的显示质量。6.第一方面,本技术提供一种画面边角生成方法,所述方法包括:7.采集待处理像素点的第一像素值和至少一个所述待处理像素点的周围像素点的第二像素值,所述待处理像素点位于画面边角;8.根据所述第一像素值和所述第二像素值,计算得到所述待处理像素点的目标像素值;9.根据屏幕边角对应的曲线参数,保留位于所述曲线参数内部的所述待处理像素点的目标像素值。10.第二方面,本技术提供一种画面边角生成装置,其特征在于,所述装置包括:11.采集模块,配置用于采集待处理像素点的第一像素值和至少一个所述待处理像素点的周围像素点的第二像素值,所述待处理像素点位于画面边角;12.计算模块,配置用于根据所述第一像素值和所述第二像素值,计算得到所述待处理像素点的目标像素值;13.生成模块,配置用于根据屏幕边角对应的曲线参数,保留位于所述曲线参数内部的所述待处理像素点的目标像素值。14.第三方面,本技术提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述处理器加载并执行以实现如第一方面所述的画面边角生成方法的步骤。15.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如第一方面所述的画面边角生成方法的步骤。16.从以上技术方案可以看出,本技术实施例具有以下优点:17.本技术实施例提供了一种画面边角生成方法、装置、电子设备及存储介质,通过采集位于画面边角的待处理像素点的第一像素值和至少一个该待处理像素点的周围像素点的第二像素值,并根据第一像素值和第二像素值,计算得到该待处理像素点的目标像素值;进而,根据屏幕边角对应的曲线参数,保留位于曲线参数内部的该待处理像素点的目标像素值。本技术实施例不仅采集待处理像素点的第一像素值,还采集至少一个该待处理像素点的周围像素点的第二像素值,采样像素的数量密集,由此经过多重采样处理的画面边角更加平滑清晰,有效提升了画面的显示质量。附图说明18.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:19.图1为本技术实施例提供的一种应用程序界面分解示意图;20.图2为本技术实施例提供的一种应用程序界面合成示意图;21.图3为本技术实施例提供的一种画面边角生成方法的基本流程示意图;22.图4为本技术实施例提供的一种边角区域待处理像素点的确定示意图;23.图5为本技术实施例提供的另一种边角区域待处理像素点的确定示意图;24.图6为本技术实施例提供的一种画面边角生成装置的基本结构示意图;25.图7为本技术实施例提供的一种电子设备的结构框图。具体实施方式26.为了使本
技术领域
:的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。27.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。28.此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。29.本技术实施例涉及的技术术语如下:30.gpu(graphicsprocessingunit,图形处理器):用于图像运算工作的微处理器,能够将图形映射到相应的像素点上,对每个像素点进行计算,并确定最终颜色之后输出。31.opengl(opengraphicslibrary,开放式图形库):用于渲染2d和3d矢量图形的跨语言、跨平台的应用程序编程接口。这个接口由近360个不同的函数调用组成,可以绘制简单的图形以及复杂的三维景象。32.surfaceflinger:一个独立的系统服务,其接收所有窗口的surface作为输入,并根据zorder、透明度、大小和位置等参数,计算出每个surface在最终合成图像中的位置。进而,交由hwcomposer或者opengl生成最终的显示buffer,以显示到特定的显示设备上。33.fragmentshader(片元着色器):用于处理由光栅化阶段生成的每个片元,最终计算出每个像素点的最终颜色。34.为了便于理解本技术实施例提供的画面边角生成方法,下面对surfaceflinger原理进行介绍。35.事实上,每个应用程序可能对应着一个或者多个图形界面,而每个界面称之为一个surface。请参考图1,其为本技术实施例提供的一种应用程序界面分解示意图,可以看到包括4个surface,分别为surface101、surface102、surface103和surface104,其中surface101是home界面,而两个button实际为homesurface里面的内容。进一步地,如图2所示,surfaceflinger根据zorder、透明度、大小和位置等参数,将所有surface内的图形进行合成,最后提交到屏幕的后缓冲区域,等待屏幕的下一个垂直同步信号的到来,再显示到屏幕上。36.为了便于理解和说明,下面通过图3至图7详细的阐述本技术实施例提供的画面边角生成方法、装置、电子设备及存储介质。37.请参考图3,其为本技术实施例提供的一种画面边角生成方法的基本流程示意图。该方法包括以下步骤:38.s301,采集待处理像素点的第一像素值和至少一个待处理像素点的周围像素点的第二像素值,待处理像素点位于画面边角。39.需要说明的是,本技术实施例的画面边角生成方法不仅可以应用于android系统,还可以应用于ios系统和windows系统等。而画面的数据来源可以包括但不限于应用程序的界面和视频动画等。40.可选地,本技术实施例中周围像素点与待处理像素点之间的距离小于1.0浮点。为提升运算精度,在片元着色器中将mediumpfloat提高至highpfloat,以扩大采样范围。比如,周围像素点包括距离待处理像素点0.3倍位置的左上像素点、左下像素点、右上像素点及右下像素点;和/或,距离待处理像素点0.5倍位置的左上像素点、左下像素点、右上像素点及右下像素点;和/或,距离待处理像素点0.8倍位置的左上像素点、左下像素点、右上像素点及右下像素点。这样设置的好处在于,采样像素点的数量密集,由此经过多重采样处理的画面边角将更加平滑清晰,可有效提升画面的显示质量。41.可选地,本技术实施例中屏幕边角可以包括但不限于圆角或者斜线角中的任意一种。由于画面中像素点众多,如果对所有像素点均进行采样和处理,则会增加大量无用的计算,造成电子设备功耗增加。为此,本技术实施例中只对边角区域的像素点进行采样,提高了处理效率。42.下面对边角区域待处理像素点的确定过程进行说明,以屏幕边角是斜线角为例。如图4所示,假设画面左上角为坐标原点(0,0),斜线角两端a和b的坐标分别为(100,0)和(0,100),那么横坐标在0~100,且纵坐标也在0~100范围内的像素点即为待处理像素点。同理,屏幕边角是圆角可以根据圆角弧度和圆角半径进行坐标范围的确定,对此不再赘述。43.可选地,如图5所示,当屏幕边角为圆角时,待处理像素点还可以通过如下方式确定:44.首先,获取画面中像素点的位置坐标与画面中心坐标之间的相对位置向量,并计算相对位置向量的绝对值与画面中心坐标的差值,得到像素点的绝对位置坐标。45.比如,假设画面左上角为坐标原点(0,0),以srccoods表示画面中的像素点,其位置坐标是(70,70),而centercoods表示画面中心,其位置坐标是(540,1170),则相对位置向量position通过式(1)进行计算得到,即(-470,-1100)。46.position=srccoods-centercoodsꢀꢀ(1)47.进一步地,绝对位置坐标absolutecoods通过式(2)进行计算得到,即(-70,-70),此时absolutecoods中已经包含了像素点相对于画面中心坐标系统的方向。48.absolutecoods=abs(position)-centercoodsꢀꢀ(2)49.其次,分别计算绝对位置坐标中各个分量与屏幕边角对应圆角半径的和值,如果各个分量对应的和值均为正数,则确定像素点为待处理像素点。50.比如,通过式(3)进行计算,得到各个分量对应的和值均为30,从而确定该像素点为待处理像素点,否则就不需要对该像素点进行采样,简化计算过程,减少了电子设备的功耗。51.distance=absolutecoods vec2(r)ꢀꢀ(3)52.s302,根据第一像素值和第二像素值,计算得到待处理像素点的目标像素值。53.比如,采集的像素点包括待处理像素点c,与该待处理像素点c距离为0.3倍位置的左上像素点、左下像素点、右上像素点及右下像素点,与该待处理像素点c距离为0.5倍位置的左上像素点、左下像素点、右上像素点及右下像素点,与该待处理像素点c距离为0.8倍位置的左上像素点、左下像素点、右上像素点及右下像素点,总共13个像素点。进一步地,计算这13个像素点对应像素值的平均值,作为待处理像素点c的目标像素值,由此提高了采样密度。需要说明的是,增加的距离不能超过1.0f,否则会造成曲线周围模糊,影响美观。54.s303,根据屏幕边角对应的曲线参数,保留位于曲线参数内部的待处理像素点的目标像素值。55.比如,将边角区域的每个像素点分别带入圆角处理公式(4),如果满足公式要求,则说明待处理像素点位于曲线参数内部。56.r^3≤x^3 y^3ꢀꢀ(4)57.而位于曲线参数外部的待处理像素点,则将其目标像素值置为零值。58.本技术实施例提供了一种画面边角生成方法,通过采集位于画面边角的待处理像素点的第一像素值和至少一个该待处理像素点的周围像素点的第二像素值,并根据第一像素值和第二像素值,计算得到该待处理像素点的目标像素值;进而,根据屏幕边角对应的曲线参数,保留位于曲线参数内部的该待处理像素点的目标像素值。本技术实施例不仅采集待处理像素点的第一像素值,还采集至少一个该待处理像素点的周围像素点的第二像素值,采样像素的数量密集,由此经过多重采样处理的画面边角更加平滑清晰,有效提升了画面的显示质量。59.基于前述实施例,请参考图6,其为本技术实施例提供的一种画面边角生成装置。如图6所示,该画面边角生成装置6包括:60.采集模块61,配置用于采集待处理像素点的第一像素值和至少一个待处理像素点的周围像素点的第二像素值,待处理像素点位于画面边角;61.计算模块62,配置用于根据第一像素值和第二像素值,计算得到待处理像素点的目标像素值;62.生成模块63,配置用于根据屏幕边角对应的曲线参数,保留位于曲线参数内部的待处理像素点的目标像素值。63.可选地,周围像素点与待处理像素点之间的距离小于1.0浮点。64.可选地,周围像素点包括距离待处理像素点0.3倍位置的左上像素点、左下像素点、右上像素点及右下像素点;和/或,65.距离待处理像素点0.5倍位置的左上像素点、左下像素点、右上像素点及右下像素点;和/或,66.距离待处理像素点0.8倍位置的左上像素点、左下像素点、右上像素点及右下像素点。67.可选地,屏幕边角包括圆角或者斜线角中的任意一种。68.可选地,当屏幕边角为圆角时,采集模块61还用于:69.获取画面中像素点的位置坐标与画面中心坐标之间的相对位置向量,并计算相对位置向量的绝对值与画面中心坐标的差值,得到像素点的绝对位置坐标;70.分别计算绝对位置坐标中各个分量与屏幕边角对应圆角半径的和值,如果各个分量对应的和值均为正数,则确定像素点为待处理像素点。71.需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。72.本技术实施例提供了一种画面边角生成装置,采集模块配置用于采集位于画面边角的待处理像素点的第一像素值和至少一个该待处理像素点的周围像素点的第二像素值;计算模块配置用于根据第一像素值和第二像素值,计算得到该待处理像素点的目标像素值;进而,生成模块配置用于根据屏幕边角对应的曲线参数,保留位于曲线参数内部的该待处理像素点的目标像素值。本技术实施例不仅采集待处理像素点的第一像素值,还采集至少一个该待处理像素点的周围像素点的第二像素值,采样像素的数量密集,由此经过多重采样处理的画面边角更加平滑清晰,有效提升了画面的显示质量。73.基于前述实施例,请参考图7,其为本技术实施例提供的一种电子设备的结构框图。该电子设备701包括处理器7011和存储器7012,其中处理器7011可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器7011可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。74.处理器7011也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称为中央处理器(centralprocessingunit,cpu);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。75.另外,处理器7011可以集成有图像处理器(graphicsprocessingunit,gpu),gpu用于对显示屏所需要显示的内容进行渲染和绘制。在一些实施例中,处理器7011还可以包括人工智能(artificialintelligence,ai)处理器,该ai处理器用于处理有关机器学习的计算操作。76.存储器7012可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器7012还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器7012中的非暂态的计算机可读存储介质用于存储至少一个程序,该至少一个程序用于被处理器7011所执行,以实现本技术方法实施例中提供的画面边角生成方法。77.在一些实施例中,电子设备701还可以包括外围设备接口7013和至少一个外围设备。处理器7011、存储器7012和外围设备接口7013之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口7013相连。78.具体地,外围设备包括但不限于射频电路7014、触摸显示屏7015和电源7016。外围设备接口7013可以被用于将输入/输出(input/output,i/o)相关的至少一个外围设备连接到处理器7011和存储器7012。在一些实施例中,处理器7011、存储器7012和外围设备接口7013被集成在同一芯片或电路板上;在一些其他实施例中,处理器7011、存储器7012和外围设备接口7013中的任意一个或两个可以在单独的芯片或电路板上实现,本技术实施例对此不进行限定。79.射频电路7014用于接收和发射射频(radiofrequency,rf)信号,也称电磁信号。射频电路7014通过电磁信号与通信网络以及其他通信设备进行通信。射频电路7014将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路7014包括天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等。射频电路7014可以通过至少一种无线通信协议来与其它设备进行通信。该无线通信协议包括但不限于城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或无线保真(wirelessfidelity,wifi)网络。在一些实施例中,射频电路7014还可以包括近距离无线通信(nearfieldcommunication,nfc)有关的电路。80.显示屏7015用于显示用户界面(userinterface,ui)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏7015是触摸显示屏时,显示屏7015还具有采集在显示屏7015的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器7011进行处理。此时,显示屏7015还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏7015可以为一个,设置在电子设备701的前面板;在另一些实施例中,显示屏7015可以为至少两个,分别设置在电子设备701的不同表面或呈折叠设计;在又一些实施例中,显示屏7015可以是柔性显示屏,设置在电子设备701的弯曲表面上或折叠面上。甚至,显示屏7015还可以设置成非矩形的不规则图形,也即异形屏。显示屏7015可以采用液晶显示屏(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等材质制备。81.本领域技术人员可以理解,图7中示出的结构并不构成对电子设备101的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。82.需要说明的是,本技术实施例中所涉及的电子设备701可以包括但不限于个人数字助理(personaldigitalassistant,pda)、平板电脑(tabletcomputer)、无线手持设备和手机等。83.作为另一方面,本技术实施例提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例画面边角生成方法中的任意一种实施方式。84.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。85.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。86.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。而集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。87.基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例画面边角生成方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。88.需要说明的是,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜