CN117726557A - 图像处理方法、电子设备及存储介质 - Google Patents
图像处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117726557A CN117726557A CN202310558777.9A CN202310558777A CN117726557A CN 117726557 A CN117726557 A CN 117726557A CN 202310558777 A CN202310558777 A CN 202310558777A CN 117726557 A CN117726557 A CN 117726557A
- Authority
- CN
- China
- Prior art keywords
- interpolated
- pixel
- point
- image
- edge direction
- 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
Landscapes
- Image Processing (AREA)
Abstract
本申请提供了一种图像处理方法、电子设备及存储介质,涉及图像领域。该方法包括:根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向;确定每个待插值像素点的灰度值;在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,得到目标图像。该方法先根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向和灰度值,在此过程中考虑到了图像的边缘特性。在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,可使处理后得到的目标图像保留更多的图像细节,能够反映图像真实的轮廓信息,提升了处理后的图像质量,保证处理后的图像清晰无损。
Description
技术领域
本申请涉及图像领域,尤其涉及一种图像处理方法、电子设备及存储介质。
背景技术
随着数字图像的出现以及广泛的应用,人们对图像质量的要求也越来越高,在不同应用场景下提高图像分辨率,逐渐成为了图像处理领域的热点问题之一。
目前,我们在对图像进行缩放处理时,通常采用传统的图像处理方法,如双线性插值法。然而,采用传统的图像处理方法对图像进行处理,容易导致处理后的图像模糊,严重影响了图像的质量。
发明内容
本申请提供一种图像处理方法、电子设备及存储介质,在对图像进行处理的过程中,能够考虑到图像的边缘特性,使处理后得到的目标图像保留更多的图像细节,能够反映图像真实的轮廓信息,提升了处理后的图像质量,保证处理后的图像清晰无损。
第一方面,本申请提供了一种图像处理方法,该方法包括:根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向确定每个待插值像素点的灰度值;在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,得到原始图像对应的目标图像。
其中,边缘方向与梯度方向垂直。
原始图像可以为RGB图像、YUV图像以及灰度图像。
待插值像素点的梯度方向表示该待插值像素点的灰度值的变化方向。对于该待插值像素点来说,沿该梯度方向的灰度值变化最快,沿该边缘方向的灰度值变化最慢。因此,若在该边缘方向上进行插值,则插值后的图像的连续性越高,插值损失越小,从而保留了更多的图像细节,使最终得到的目标图像清晰无损、质量高。
应理解,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值时,对于不同的图像处理需求,对应不同的插值方式。
可选地,当需要放大图像时,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行上插值,得到原始图像对应的目标图像。
可选地,当需要缩小图像时,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行下插值,得到原始图像对应的目标图像。
第一方面提供的图像处理方法,先根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向和灰度值,由于梯度方向与边缘方向是相互垂直的,梯度方向的灰度值变化最快时,对应的边缘方向的灰度值变化最慢。基于此,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,可使插值后的图像的灰度值变化的连续性提高,插值损失更小,进而使得处理后得到的目标图像保留更多的图像细节。
由于本申请考虑到了图像的边缘特性,因此,本申请提供的图像处理方法在对图像进行处理的过程中,结合图像的边缘特性,能够使处理后得到的目标图像反映图像真实的轮廓信息,提升了处理后的图像质量,保证处理后的图像清晰无损。相对于相关技术来说,有效避免了处理后的图像出现条纹(或称锯齿)现象。
一种可能的实现方式中,本申请提供的图像处理方法,还包括:
确定原始图像对应的每个待插值像素点的梯度方向。
这种实现方式中,确定原始图像对应的每个待插值像素点的梯度方向,有利于后续根据该梯度方向快速、准确地确定边缘方向。
一种可能的实现方式中,确定原始图像对应的每个待插值像素点的梯度方向,包括:确定每个待插值像素点的灰度梯度分量;对每个待插值像素点的多个灰度梯度分量进行矢量合成,得到每个待插值像素点的灰度梯度。
其中,灰度梯度分量指示待插值像素点在第一方向上的灰度梯度,第一方向为待插值像素点的相邻像素点指向待插值像素点的方向,灰度梯度包括梯度方向。
这种实现方式中,待插值像素点的灰度梯度是通过待插值像素点的多个灰度梯度分量进行矢量合成得到的,由于相邻像素点分布在不同方向,通过多个灰度梯度分量进行矢量合成的方式可以考虑到待插值像素点在不同方向上的灰度变化特性,由此确定的待插值像素点的梯度方向更准确,有利于后续基于该梯度方向准确地确定待插值像素点的边缘方向。
一种可能的实现方式中,确定原始图像对应的每个待插值像素点的梯度方向,包括:确定每个待插值像素点与各个相邻像素点之间的权重值,根据各个权重值确定每个待插值像素点的灰度梯度分量,对每个待插值像素点的多个灰度梯度分量进行矢量合成,得到每个待插值像素点的灰度梯度。
这种实现方式中,在确定待插值像素点的灰度梯度时,不仅考虑到了待插值像素点在不同方向上的相邻像素点的灰度变化特性,同时还基于不同相邻像素点对应的权重值对相邻像素点的灰度值进行调整,使确定的灰度梯度分量更加准确,从而基于该灰度梯度分量合成的梯度方向也更加准确。
一种可能的实现方式中,确定每个待插值像素点的灰度梯度分量,包括:
针对每个待插值像素点,确定原始图像中与待插值像素点相邻的多个相邻像素点,以及每个相邻像素点的灰度值;基于待插值像素点的初始灰度值和多个相邻像素点的灰度值,计算待插值像素点的多个灰度梯度分量。
这种实现方式中,待插值像素点的灰度梯度分量是根据待插值像素点相邻的多个相邻像素点,以及每个相邻像素点的灰度值确定的,此过程中考虑到了待插值像素点在不同方向上的相邻像素点的灰度变化特性,使确定的灰度梯度分量更准确,从而有利于后续根据灰度梯度分量准确地合成待插值像素点的梯度方向。
一种可能的实现方式中,确定每个待插值像素点的灰度值,包括:确定每个待插值像素点的边缘方向角;根据每个相邻像素点的灰度值、每个待插值像素点的边缘方向以及每个待插值像素点的边缘方向角,计算每个待插值像素点的灰度值。
其中,边缘方向角是指采用x轴方向作为标准方向所确定的,x轴与待插值像素点的边缘方向所在的直线形成的夹角。
可选地,边缘方向角可用于确定边缘方向所在的直线的斜率,因此,x轴与待插值像素点的边缘方向所在的直线形成的任一个夹角,只要可以确定出边缘方向所在的直线的斜率,便可作为待插值像素点的边缘方向角。
可选地,确定每个待插值像素点的边缘方向角的方式可以为,确定每个待插值像素点的梯度方向角,根据每个待插值像素点的梯度方向角,确定每个待插值像素点的边缘方向角。
其中,梯度方向角为待插值像素点在水平方向上与梯度方向上的夹角。
这种实现方式中,根据每个相邻像素点的灰度值、每个待插值像素点的边缘方向以及每个待插值像素点的边缘方向角,准确地计算每个待插值像素点的灰度值。从而在基于该灰度值进行插值时,可使插值后的图像的连续性越高,插值损失越小,保留更多的图像细节,使最终得到的目标图像清晰无损、质量高。
一种可能的实现方式中,根据每个相邻像素点的灰度值、每个待插值像素点的边缘方向以及每个待插值像素点的边缘方向角,计算每个待插值像素点的灰度值,包括:
针对每个待插值像素点,根据待插值像素点的边缘方向和多个相邻像素点,确定第一交点和第二交点;根据待插值像素点的边缘方向角,确定第一距离和第二距离;基于每个相邻像素点的灰度值,计算第一交点、第二交点的灰度值;根据第一距离、第二距离、第一交点的灰度值,以及第二交点的灰度值,计算待插值像素点的灰度值。
其中,第一交点、第二交点以及待插值像素点在边缘方向所在的直线上,第一距离表示待插值像素点与第一交点之间的距离,第二距离表示待插值像素点与第二交点之间的距离。
可选地,基于每个相邻像素点的灰度值,通过第一线性插值多项式计算第一交点的灰度值。
可选地,基于每个相邻像素点的灰度值,通过第二线性插值多项式计算第二交点的灰度值。
这种实现方式中,根据每个相邻像素点的灰度值、每个待插值像素点的边缘方向以及每个待插值像素点的边缘方向角,准确地计算每个待插值像素点的灰度值。从而在基于该灰度值进行插值时,可使插值后的图像的连续性越高,插值损失越小,保留更多的图像细节,使最终得到的目标图像清晰无损、质量高。
一种可能的实现方式中,本申请提供的图像处理方法,还包括:
针对每个待插值像素点,将待插值像素点的灰度值确定为待插值像素点的初始灰度值;基于初始灰度值和多个相邻像素点的灰度值,计算待插值像素点的多个灰度梯度分量;基于多个灰度梯度分量,确定待插值像素点的灰度梯度;根据灰度梯度,确定待插值像素点的边缘方向;确定待插值像素点的边缘方向角;根据每个相邻像素点的灰度值、待插值像素点的边缘方向以及待插值像素点的边缘方向角,计算待插值像素点的灰度值;重复上述步骤,当边缘方向角收敛时,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,得到原始图像对应的目标图像,包括:在每个待插值像素点的边缘方向上,根据边缘方向角收敛时得到的待插值像素点的灰度值进行插值,得到目标图像。
这种实现方式中,由于不断迭代使得确定的梯度方向、边缘方向以及待插值像素点的灰度值更精确,从而在基于该迭代后的边缘方向和灰度值进行插值时,可使插值后的图像保留的细节更多、更准确,进一步提升了目标图像的质量。
一种可能的实现方式中,本申请提供的图像处理方法,在根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向之前,还包括:
检测用于缩放的操作;
响应于所述操作,确定原始图像的缩放比例;根据缩放比例以及插值算法,确定原始图像对应的每个待插值像素点。
用于缩放的操作可以为放大操作、缩小操作。
若用于缩放的操作是用户触摸屏幕产生的,则缩放比例可以通过检测用户手指触摸的位置确定。若用于缩放的操作是电子设备触发的,则缩放比例可以通过电子设备的屏幕分辨率确定。
这种实现方式中,先通过传统的插值算法确定原始图像对应的每个待插值像素点,以及确定每个待插值像素点的初始灰度值,为后续快速、准确地确定待插值像素点的梯度方向、边缘方向以及待插值像素点的灰度值提供了基础,从而保证基于该待插值像素点的梯度方向和待插值像素点的灰度值进行插值后,得到高质量的图像。
第二方面,本申请提供一种电子设备,电子设备包括:一个或多个处理器;一个或多个存储器;安装有多个应用程序的模块;存储器存储有一个或多个程序,当一个或者多个程序被处理器执行时,使得电子设备执行上述第一方面及其任意可能的实现方式中的方法。
第三方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
可选的,芯片还包括通信接口。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面及其任意可能的实现方式中的方法。
第五方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面及其任意可能的实现方式中的方法。
上述第二方面、第三方面、第四方面以及第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请一示例性实施例示出的一种放大图像场景示意图;
图2是本申请一示例性实施例示出的另一种放大图像场景示意图;
图3是本申请一示例性实施例示出的电子设备的硬件结构示意图;
图4是本申请实施例提供的一种图像处理方法的流程示意图;
图5是本申请实施例提供的一种放大图像的插值示意图;
图6是本申请实施例提供的一种双线性插值算法的示意图;
图7是本申请实施例提供的一种图像处理方法的流程示意图;
图8是本申请实施例提供的另一种图像处理方法的流程示意图;
图9是本申请实施例提供的一种灰度梯度分量示意图;
图10是本申请实施例提供的一种矢量合成示意图;
图11是本申请实施例提供的计算待插值像素点的灰度值的流程示意图;
图12是本申请实施例提供的一种边缘方向角示意图;
图13是本申请实施例提供的一种交点示意图;
图14是本申请实施例提供的另一种交点示意图;
图15是本申请实施例提供的再一种交点示意图;
图16是本申请实施例提供的又一种交点示意图;
图17是本申请实施例提供的再一种交点示意图;
图18是本申请实施例提供的又一种交点示意图;
图19是本申请实施例提供的一种图像处理方法的流程示意图;
图20是本申请实施例提供的边缘方向角收敛示意图;
图21是采用本申请提供的图像处理方法放大图像的场景示意图;
图22是本申请实施例提供的一种芯片的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
需要说明的是,本申请实施例提供的图像处理方法,可以适用于任何具有处理图像功能的电子设备。
在本申请的一些实施例中,该电子设备可以为手机、平板电脑、可穿戴设备、电视、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,还可以为单反相机、卡片机等各种摄像装置,或者可以为其他能够进行图像处理的设备或装置,对于电子设备的具体类型,本申请实施例不作任何限制。
为了更好地理解本申请实施例提供的图像处理方法,下文首先对本申请实施例中涉及的部分术语进行解释说明,以便于本领域技术人员理解。
1、双线性插值
又称为双线性内插。在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。
在图像处理中,双线性插值是图像插值算法中的一种,其表现为通过距离待求像素点最近的4个像素点的像素值加权计算得到待求像素点的值。
2、灰度
用黑色为基准色,不同的饱和度的黑色来显示图像。每个灰度对象都具有从0%(黑色)到100%(白色)的亮度值。使用黑白或灰度扫描仪生成的图像通常以灰度显示。
3、灰度梯度
把图像看成二维离散函数,灰度梯度其实就是这个二维离散函数的求导,用差分代替微分,求取图像的灰度梯度。
4、梯度方向
在数学中,梯度的本意是一个向量,表示函数在某点的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向变化最快,变化率最大。图像中用梯度表示灰度值的变化程度与方向。
5、边缘方向
在图像中边缘指灰度强度变化最弱的位置。梯度方向与边缘方向呈垂直关系。
6、灰度图像
灰度图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑白两种颜色,灰度图像在黑色与白色之间还有许多级的颜色深度。
7、RGB(Red,Green,Blue)图像
RGB指的是一种与人的视觉系统结构相关的色彩模式。根据人眼睛的结构,将所有颜色都当作是红色、绿色和蓝色的不同组合。
RGB图像是指用RGB色彩模式来显示的图像。
8、YUV图像
YUV指的是一种颜色编码方法,Y表示亮度(luminance或luma),U和V表示的则是色度(chrominance或chroma)。上述RGB色彩模式着重于人眼对色彩的感应,YUV色彩模式则着重于视觉对亮度的敏感程度,RGB色彩模式和YUV色彩模式可以互相转换。
YUV图像是指用YUV色彩模式来显示的图像。如果某个图像只有Y分量而没有UV分量,那么该图像表示的就是黑白图像。
以上是对本申请实施例所涉及的名词的简单介绍,以下不再赘述。
随着数字图像的发展,人们对图像的使用越来越频繁,同时也对图像质量的要求越来越高。
例如,在使用电子设备(如手机)的过程中,经常会遇到需要放大或缩小图像的场景,这时我们希望放大或缩小后的图像依旧保持高质量。然而,目前我们在对图像进行缩放处理时,通常采用传统的图像处理方法。其中,传统的图像处理方法包括最近邻插值法、双线性插值法、双三次插值法以及多相位插值法等。由于采用这些插值方法对图像进行处理的过程中,没有考虑到图像的边缘特性。譬如以待求像素点为中心,通常该待求像素点在各个方向的特性(如像素灰度、纹理等的变化)不一样,但在采用这些传统的插值方法对图像进行处理的过程中,利用各向同性的原理进行处理,没有考虑到该待求像素点向各个方向的特性不一样,导致处理后的图像模糊,致使图像细节不清晰,严重影响了图像的质量。
在一些可能的应用场景中,用户在手机的图库应用中预览图像时,会对图像进行放大或缩小操作。手机在响应用户对图像的放大或缩小操作时,通常采用传统的图像处理方法对该图像进行处理,导致放大或缩小后的图像出现条纹(或称锯齿)现象,致使放大或缩小后的图像细节不清晰,无法反映图像真实的轮廓信息,严重影响了放大或缩小后的图像的质量。
下面结合附图,对放大图库应用中的某一图像这一应用场景进行描述。
请参阅图1,图1是本申请一示例性实施例示出的一种放大图像场景示意图。
本申请实施例中以电子设备为手机为例进行描述。如图1所示,图1中(a)所示的为手机主界面,譬如用户在手机主界面中点击图库图标101,手机显示界面从图1中(a)所示的主界面跳转至图1中(b)所示的图库显示界面。图库显示界面中显示有多个缩略图。譬如用户点击图1中(b)所示的多个缩略图中的图像102,手机显示界面从图1中(b)所示的图库显示界面跳转至图1中(c)所示的图像显示界面。应理解,在图库中查看图像时,若图像为非全屏比例图像,则非图像内容区域在图像显示界面中显示为白色背景区域或黑色背景区域,如图1中(c)所示的白色背景区域103。缩略图中的图像102在图像显示界面以原图显示,如图1中(c)所示的图像104。
其中,非全屏比例图像是指在显示界面显示的图像的显示比例不是全屏。
如图1中(c)所示,当想要对图像104中的局部图像105进行放大操作时,用户可以两指同时触摸局部图像105所在的区域并向外滑动,即可放大局部图像105。如图1中(d)所示,图像106即为局部图像105放大后的图像。
在手机在响应用户对局部图像105的放大操作时,如果采用传统的图像处理方法对该局部图像105进行处理,导致放大后的图像106出现条纹(或称锯齿)现象,致使放大后的图像106细节不清晰,无法反映图像真实的轮廓信息,严重影响了放大后的图像的质量。
为了便于理解,请参阅图2,图2是本申请一示例性实施例示出的另一种放大图像场景示意图。
如图2所示,假设缩略图中的某个图像以原图显示时,显示为图2中(a)所示的图像201,当想要对图像201中的局部图像202进行放大操作时,用户可以两指同时触摸局部图像202所在的区域并向外滑动,即可放大局部图像202。如图2中(b)所示,图像203即为局部图像202放大后的图像。
在采用传统的图像处理方法对局部图像202进行放大处理时,没有考虑到局部图像202的边缘特性,因此得到的放大后的图像203出现条纹(或称锯齿)现象,致使放大后的图像203细节不清晰,无法反映图像真实的轮廓信息,严重影响了放大后的图像的质量。
上面对采用传统的图像处理方法放大图像这一应用场景进行了描述,可知,采用传统的图像处理方法放大图像,得到的放大后的图像出现条纹(或称锯齿)现象,导致放大后的图像细节不清晰,无法反映图像真实的轮廓信息,严重影响了放大后的图像的质量。应理解,在采用传统的图像处理方法缩小图像时,也会导致缩小后的图像细节不清晰,无法反映图像真实的轮廓信息,严重影响了缩小后的图像的质量。
这是由于采用传统的图像处理方法(如最近邻插值法、双线性插值法、双三次插值法以及多相位插值法等)对图像进行缩放处理的过程中,没有考虑到图像的边缘特性所导致的。
有鉴于此,本申请实施例提供了一种图像处理方法,该图像处理方法在对图像进行处理的过程中,先根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向和灰度值,由于梯度方向与边缘方向是相互垂直的,梯度方向的灰度值变化最快时,对应的边缘方向的灰度值则变化最慢。基于此,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,可使插值后的图像的灰度值变化的连续性提高,插值损失更小,进而使得处理后得到的目标图像保留更多的图像细节。
由于本申请考虑到了图像的边缘特性,因此,本申请提供的图像处理方法在对图像进行处理的过程中,结合图像的边缘特性,能够使处理后得到的目标图像反映图像真实的轮廓信息,提升了处理后的图像质量,保证处理后的图像清晰无损。相对于相关技术来说,有效避免了处理后的图像出现条纹(或称锯齿)现象。
下面将结合附图对本申请实施例中涉及的电子设备的硬件结构进行简单介绍。
在本申请的一些实施例中,该电子设备可以为手机、平板电脑、可穿戴设备、电视、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,还可以为单反相机、卡片机等各种摄像装置,或者可以为其他能够进行图像处理的设备或装置,对于电子设备的具体类型,本申请实施例不作任何限制。
请参考图3,图3是本申请一示例性实施例示出的电子设备的硬件结构示意图。如图3所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图3所示的部件更多或更少的部件,或者,电子设备100可以包括图3所示的部件中某些部件的组合,或者,电子设备100可以包括图3所示的部件中某些部件的子部件。图3所示的部件可以以硬件、软件、或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在本申请的实施例中,处理器110可以执行根据每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向,确定每个待插值像素点的灰度值,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,得到目标图像的步骤。譬如处理器110可以运行本申请实施例提供的图像处理方法的软件代码,从而对图像进行缩放处理。
在本申请的实施例中,处理器110可以执行响应于用户的缩放操作,确定灰度图像的缩放比例,根据缩放比例以及插值算法,确定灰度图像对应的每个待插值像素点的步骤。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器(mobileindustry processor interface,MIPI)接口,通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
电源管理模块141用于连接电池142、充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,以及无线通信模块160等供电。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
图3所示的各模块间的连接关系只是示意性说明,并不构成对电子设备100的各模块间的连接关系的限定。可选地,电子设备100的各模块也可以采用上述实施例中多种连接方式的组合。
电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等器件实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/2G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。可以理解,本申请实施例中,定位或导航系统中的硬件模块可称为定位传感器。
电子设备100可以通过GPU、显示屏194以及应用处理器实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU还可以用于执行数学和位姿计算,用于图形渲染等。处理器110可以包括一个或多个GPU,其执行程序指令可以生成或改变显示信息。
显示屏194可以用于显示图像或视频,还可以显示一系列图形用户界面(graphical user interface,GUI),这些GUI都是该电子设备100的主屏幕。一般来说,电子设备100的显示屏194的尺寸是固定的,只能在该电子设备100的显示屏194中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、微件(Widget)等可视的界面元素。
在本申请实施例中,显示屏194可以用于显示处理前、处理中以及处理后的各个图像。
显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystaldisplay,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N可以为大于1的正整数。
本申请实施例中的显示屏194可以是触摸屏。该显示屏194中可以集成有触摸传感器180K。该触摸传感器180K也可以称为“触控面板”。也就是说,显示屏194可以包括显示面板和触摸面板,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触控操作。触摸传感器180K检测到的触摸操作后,可以由内核层的驱动(如TP驱动)传递给上层,以确定触控事件类型。可以通过显示屏194提供与触控操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
在本申请实施例中,触摸传感器180K检测用户的触摸操作。譬如用户在查看图库应用中的某个图像时,两指同时触摸显示屏194,并向外滑动或向内捏合。此时,触摸传感器180K检测到了用户的触摸操作,由内核层的驱动(如TP驱动)传递给上层,以确定触控事件类型,如放大图像事件、缩小图像事件等。处理器110响应于用户的触摸操作,最后通过显示屏194提供与触控操作相关的视觉输出,如显示屏194显示放大后的图像、缩小后的图像等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统(如图2所示的软件系统中的操作系统)、至少一个功能所需的APP(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。
此外,内部存储器121可以包括高速随机存取存储器,如图2所示的硬件系统中的内存;内部存储器121还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
加速度传感器180E可检测电子设备100在各个方向上(一般为x轴、y轴和z轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。加速度传感器180E还可以用于识别电子设备100的姿态,作为横竖屏切换和计步器等应用程序的输入参数。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现解锁、访问应用锁、拍照和接听来电等功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
另外,在上述部件之上,运行有各种类型的操作系统。例如Android(安卓)系统、IOS操作系统、塞班(Symbian)操作系统、黑莓(Black Berry)操作系统、Linux操作系统、Windows操作系统等。此处仅为示例性说明,对此不做限定。在这些操作系统上可以安装、运行不同的应用程序,如任何可以显示图像和/或处理图像的应用程序。
本申请实施例中提供的图像处理方法,可以在具有上述硬件结构的电子设备100中实现。
上面对本申请实施例涉及的电子设备的软件结构进行了简单介绍,下面本申请各实施例将以电子设备为例,结合附图和应用场景,对本申请实施例提供的图像处理方法进行具体阐述。
在介绍图像处理方法之前,特此声明,上述以在图库应用中预览图像时,会对图像进行放大或缩小操作的场景,为对应用场景的举例说明,并不对本申请的应用场景进行任何限制。本申请实施例提供的图像处理方法可以应用但不限于以下场景中:
各类应用程序中预览图像时缩放图像(如图库应用中预览图像时缩放图像、社交应用中查看图像时缩放图像、应用程序中切换头像时缩放头像等)、视频通话中缩放视频、视频会议应用中缩放视频、长短视频应用中缩放视频、视频直播类应用中缩放视频、视频网课应用中缩放视频、智能运镜应用场景中缩放图像、系统相机录像功能录制视频时缩放视频、系统相机拍摄功能拍摄照片时缩放照片、视频监控中缩放图像或视频以及智能猫眼中缩放图像或视频等场景。
下面以在图库应用中预览图像时,对图像进行放大或缩小操作的应用场景为例进行说明。
请参阅图4,图4是本申请实施例提供的一种图像处理方法的流程示意图。该方法包括:
S101、确定原始图像的缩放比例。
检测用于缩放的操作,或者说接收对原始图像的缩放指令,确定该原始图像对应的缩放比例。在本申请实施方式中,原始图像可以为RGB图像、YUV图像以及灰度图像等,以实际情况为准,对此不做限定。
值得说明的是,当原始图像为RGB图像时,后续对RGB图像进行缩放处理,是分别对R通道、G通道以及B通道的图像进行缩放处理,再对处理后的R通道、G通道以及B通道的图像进行合并,得到处理后的RGB图像。同理,当原始图像为YUV图像时,后续对YUV图像进行缩放处理,是分别对Y通道、U通道以及V通道的图像进行缩放处理,再对处理后的Y通道、U通道以及V通道的图像进行合并,得到处理后的YUV图像。当原始图像为灰度图像时,由于灰度图像属于单通道图像,后续可直接对灰度图像进行缩放处理,得到处理后的灰度图像。
缩放比例可以为原始图像的分辨率的任意倍。例如,该缩放比例可以为该原始图像的分辨率的0.2倍、0.5倍、1.5倍、2倍、2.5倍等。
其中,该缩放指令可以为图像处理指令,用于对原始图像进行任意倍缩放。该缩放指令可以包括放大指令、缩小指令。
在一种可能的实现方式中,该缩放指令可以由用户触发,此时缩放比例可以通过检测用户手指触摸的位置确定。例如,用户在查看图库应用中的某个图像时,两指同时触摸显示屏中显示的图像的某个区域并向外滑动,触发放大指令。又例如,用户在查看图库应用中的某个图像时,两指同时触摸显示屏中显示的图像的某个区域并向内捏合,触发缩小指令。再例如,在编辑图像时,用户在电子设备的显示界面中点击放大选项(或缩小选项),触发放大指令(或缩小指令)。
在另一种可能的实现方式中,该缩放指令也可以由电子设备自动触发,此时缩放比例可以通过电子设备的屏幕分辨率确定。例如,电子设备提供显示图像的屏幕具有指定的屏幕分辨率,当待显示的原始图像的分辨率与该屏幕分辨率不同时,此时打开该原始图像,电子设备会自动触发放大指令或缩小指令,以使待显示的原始图像的分辨率适应该屏幕分辨率。譬如待显示的原始图像的分辨率低于该屏幕分辨率,则电子设备需要对该原始图像进行放大处理,即触发放大指令,以将原始图像转换为分辨率等于该屏幕分辨率的图像。同理,譬如待显示的原始图像的分辨率高于该屏幕分辨率,则电子设备需要对该原始图像进行缩小处理,即触发缩小指令,将原始图像转换为分辨率等于该屏幕分辨率的图像。
应理解,电子设备也可以根据用户的实际需求显示不同分辨率的图像或视频,此次仅为示例性说明,对此不做限定。同样,本申请实施例对缩放指令的触发条件也不做限定。
S102、根据缩放比例以及插值算法,确定原始图像对应的每个待插值像素点。
该插值算法可以包括最近邻插值法、双线性插值法、双三次插值法以及多相位插值法等。本申请实施例中,以采用双线性插值法对原始图像为灰度图像进行处理为例进行说明。
示例性地,根据缩放指令可以确定缩放图中各个像素点在原始图像中所对应的位置。假设缩放指令为放大指令,缩放比例为2,根据该缩放指令可以确定放大图中各个像素点在原始图像中所对应的位置。
采用双线性插值法对原始图像(假设分辨率为a×b)进行2倍上采样(也称为插值或放大处理),得到放大图像(分辨率为2a×2b)。采用双线性插值法对原始图像进行2倍上采样是指,在原始图像中插入了多个待插值像素点,其中,每个待插值像素点的像素值可以通过将多个原始像素点的像素值代入插值函数中计算得到。
需要说明的是,确定原始图像对应的每个待插值像素点,相当于可以确定每个待插值像素点的灰度值和坐标。
为了便于理解,请参阅图5,图5是本申请实施例提供的一种放大图像的插值示意图。
图5中(a)所示的为未进行缩放的灰度图像,图5中(b)所示的为放大图像,即对图5中(a)所示的灰度图像放大2倍后的灰度图像。从图5可以看出,图5中(a)所示的灰度图像中的每个像素点,在图5中(b)所示的放大图像中均有对应,即图5中(a)所示的灰度图像中的黑色像素点,与图5中(b)所示的放大图像中的黑色像素点一一对应。图5中(b)所示的放大图像中的灰色像素点,即为新插入的待插值像素点。每个待插值像素点的像素值,是通过将多个原始像素点(即图5中(a)所示的灰度图像中的黑色像素点)的像素值代入插值函数中计算得到。
下面对如何确定原始图像对应的每个待插值像素点进行描述。
为了便于理解,请参阅图6,图6是本申请实施例提供的一种双线性插值算法的示意图。
如图6所示,针对每个待插值像素点,在本示例中,待插值像素点为O点,根据缩放比例确定该待插值像素点在未进行缩放的灰度图像中相邻的(或最近的)四个相邻像素点,分别为PA、PB、PC、PD。这四个相邻像素点的坐标分别为PA(x,y)、PB(x+1,y)、PC(x,y+1)、PD(x+1,y+1)。
如图6所示,PA、PB、PC、PD四个相邻像素点围成一个正方形,过O点做水平线,该水平线与正方形相交,形成两个交点,分别为交点Prow_1、交点Prow_2。同理,过O点做垂直线,该垂直线与正方形相交,形成两个交点,分别为交点Pcol_1、交点Pcol_2。
如图6所示,PB与交点Prow_2之间的距离为q,交点Prow_2与PD之间的距离为1-q,PC与交点Pcol_2之间的距离为p,交点Pcol_2与PD之间的距离为1-p。
获取每个相邻像素点的像素值,再根据四个相邻像素点各自的像素值、各个相邻像素点与各个交点之间的距离以及插值函数,可以计算出待插值像素点(如图6所示的O点)的像素值,插值函数如下:
P(x,y)=Pcol_1+(Pcol_2-Pcol_1)×q=(1-p)(1-q)P([x],[y])+p(1-q)P([x]+1,[y])+(1-p)qP([x],[y]+1)+pqP([x]+1,[y]+1)
上述插值函数中,P(x,y)表示待插值像素点的像素值,Pcol_1表示交Pcol_1的像素值,Pcol_2表示交点Pcol_2的像素值,q表示PB与交点Prow_2之间的距离,1-q表示交点Prow_2与PD之间的距离,p表示PC与交点Pcol_2之间的距离,1-p表示交点Pcol_2与PD之间的距离,P([x],[y])表示PA的像素值,P([x]+1,[y])表示PB的像素值,P([x],[y]+1)表示PC的像素值,P([x]+1,[y]+1)表示PD的像素值。
应理解,对于灰度图像来说,它的像素点的像素值就是灰度值。因此,通过插值函数计算得到的待插值像素点的像素值,即为该待插值像素点的灰度值。值得说明的是,在本申请实施例中,将通过传统的插值算法确定的待插值像素点的灰度值,称为初始灰度值。
这种实现方式中,先通过传统的插值算法确定原始图像对应的每个待插值像素点,以及确定每个待插值像素点的初始灰度值,为后续快速、准确地确定待插值像素点的梯度方向、边缘方向以及待插值像素点的灰度值提供了基础,从而保证基于该待插值像素点的梯度方向和待插值像素点的灰度值进行插值后,得到高质量的图像。
值得说明的是,该双线性插值算法在插值过程中,不会考虑图像的边缘特性,只基于各个像素点的位置进行插值。由此得到的图像会出现条纹(或称锯齿)现象,致使放大后的图像细节不清晰,无法反映图像真实的轮廓信息,严重影响了放大后的图像的质量。
有鉴于此,本申请实施例提供的图像处理方法,在上述步骤S102之后还增加了S201至S203,以提高图像质量。请参阅图7,图7是本申请实施例提供的一种图像处理方法的流程示意图。如图7所示,该图像处理方法包括S201至S203。
S201:根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向。
示例性地,原始图像对应多个待插值像素点,这些待插值像素点是通过上述步骤S101和S102所确定的。
针对每个待插值像素点,确定该待插值像素点的梯度方向,根据该待插值像素点的梯度方向,确定该待插值像素点的边缘方向。其中,该待插值像素点的边缘方向与该待插值像素点的梯度方向垂直。
该待插值像素点的梯度方向表示该待插值像素点的灰度值的变化方向。对于该待插值像素点来说,沿该梯度方向的灰度值变化最快,沿该边缘方向的灰度值变化最慢。因此,若在该边缘方向上进行插值,则插值后的图像的连续性越高,插值损失越小,从而保留了更多的图像细节,使最终得到的目标图像清晰无损、质量高。
S202:确定每个待插值像素点的灰度值。
需要说明的是,在步骤S102中也计算了每个待插值像素点的灰度值,但是步骤S102中每个待插值像素点的灰度值,与步骤S202中确定的每个待插值像素点的灰度值并不相同。
步骤S102中是通过传统的插值算法计算得到每个待插值像素点的灰度值,该步骤S102中待插值像素点的灰度值为初始灰度值,初始灰度值并不用于最后的插值。步骤S202中确定的待插值像素点的灰度值,是基于每个待插值像素点的初始灰度值、每个待插值像素点的边缘方向等计算得到的,是最终用于插值的灰度值。
S203:在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,得到原始图像对应的目标图像。
应理解,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值时,对于不同的缩放指令,对应不同的插值方式。
例如,当缩放指令为放大指令时,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行上插值,得到原始图像对应的目标图像。
可以通俗理解为,当缩放指令为放大指令时,是在原始图像中插入多个待插值像素点。插入多个待插值像素点的方式即为,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值将待插值像素点插入。将多个待插值像素点都插入后,得到的图像即为目标图像。
又例如,当缩放指令为缩小指令时,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行下插值,得到原始图像对应的目标图像。
可以通俗理解为,当缩放指令为缩小指令时,根据多个待插值像素点重新组成图像,组成的图像即为目标图像。在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值将待插值像素点插入新的图像,得到目标图像。即当缩放指令为缩小指令时,目标图像由多个待插值像素点构成,每个待插值像素点在其对应的边缘方向上,且每个待插值像素点灰度值为步骤S202中确定的灰度值。
本申请实施例提供的图像处理方法,在对图像进行处理的过程中,先根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向和灰度值,由于梯度方向与边缘方向是相互垂直的,梯度方向的灰度值变化最快时,对应的边缘方向的灰度值则变化最慢。基于此,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,可使插值后的图像的灰度值变化的连续性提高,插值损失更小,进而使得处理后得到的目标图像保留更多的图像细节。
由于本申请考虑到了图像的边缘特性,因此,本申请提供的图像处理方法在对图像进行处理的过程中,结合图像的边缘特性,能够使处理后得到的目标图像反映图像真实的轮廓信息,提升了处理后的图像质量,保证处理后的图像清晰无损。相对于相关技术来说,有效避免了处理后的图像出现条纹(或称锯齿)现象。
请参阅图8,图8是本申请实施例提供的另一种图像处理方法的流程示意图。如图8所示,该图像处理方法可以包括S301至S304。
S301:确定原始图像对应的每个待插值像素点的梯度方向。
S302:根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向。
S303:确定每个待插值像素点的灰度值。
S304:在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,得到原始图像对应的目标图像。
值得说明的是,本实施例中的步骤S302至S304与图7对应的实施例中的步骤S201至S203一致,可参考上述图7对应的实施例中的步骤S201至S203的描述,此处关于步骤S302至S304不再赘述。下面对步骤S301进行详细描述。
确定原始图像对应的每个待插值像素点的梯度方向,有利于后续根据该梯度方向快速、准确地确定边缘方向。对于待插值像素点来说,沿该梯度方向的灰度值变化最快,则沿与该梯度方向垂直的边缘方向的灰度值变化最慢。因此,基于该梯度方向确定的边缘方向进行插值,使插值后的图像的连续性越高,插值损失越小,从而保留了更多的图像细节,有效避免处理后的图像出现条纹(或称锯齿)现象,使最终得到的目标图像清晰无损、质量高。
在一种可能的实现方式中,确定原始图像对应的每个待插值像素点的梯度方向,包括:确定每个待插值像素点的灰度梯度分量,对每个待插值像素点的多个灰度梯度分量进行矢量合成,得到每个待插值像素点的灰度梯度。
该灰度梯度分量指示待插值像素点在第一方向上的灰度梯度,该第一方向为该待插值像素点的相邻像素点指向该待插值像素点的方向。
针对每个待插值像素点,将待插值像素点的位置映射到原始图像中,该原始图像中与该待插值像素点相邻的像素点,即为该待插值像素点的相邻像素点。
示例性地,在不同的实现方式中,对每个待插值像素点的相邻像素点数量不进行限定,可由用户根据实际情况进行设置、调整。而每个待插值像素点的灰度梯度分量的数量,与每个待插值像素点的相邻像素点数量对应。
例如,当待插值像素点的相邻像素点数量为4个时,该待插值像素点灰度梯度分量的数量为4个。又例如,当待插值像素点的相邻像素点数量为6个时,该待插值像素点灰度梯度分量的数量为6个。再例如,当待插值像素点的相邻像素点数量为8个时,该待插值像素点灰度梯度分量的数量为8个。此次仅为示例性说明,对此不做限定。
示例性地,分别做待插值像素点与每个相邻像素点的连线,该连线的反方向即为该相邻像素点对应的第一方向。该待插值像素点在第一方向上的灰度梯度即为待插值像素点在该第一方向上的灰度梯度分量。针对每个待插值像素点,通过该方式得到该待插值像素点对应的多个灰度梯度分量,对多个灰度梯度分量进行矢量合成,得到该待插值像素点的灰度梯度。
这种实现方式中,待插值像素点的灰度梯度是通过待插值像素点的多个灰度梯度分量进行矢量合成得到的,由于相邻像素点分布在不同方向,通过多个灰度梯度分量进行矢量合成的方式可以考虑到待插值像素点在不同方向上的灰度变化特性,由此确定的待插值像素点的梯度方向更准确,有利于后续基于该梯度方向准确地确定待插值像素点的边缘方向。
示例性地,确定每个待插值像素点的灰度梯度分量的方式可以为,针对每个待插值像素点,确定原始图像中与待插值像素点相邻的多个相邻像素点,以及每个相邻像素点的灰度值;基于待插值像素点的初始灰度值和多个相邻像素点的灰度值,计算待插值像素点的多个灰度梯度分量。
本申请实施例中,以相邻像素点的数量为4个为例进行说明。
为了便于理解,请参阅图9,图9是本申请实施例提供的一种灰度梯度分量示意图。
假设O点为确定的原始图像对应的任一个待插值像素点,如图8所示,将该待插值像素点映射到原始图像中,与该待插值像素点相邻的(或最近的)四个相邻像素点,分别为A、B、C、D。这四个相邻像素点的坐标分别为A(x,y)、B(x+1,y)、C(x,y+1)、D(x+1,y+1)。应理解,A、B、C、D四个相邻像素点是原始图像中的像素点。A、B、C、D四个相邻像素点围成一个正方形,该待插值像素点落入该正方形中。
如图9所示,分别做待插值像素点(O点)与每个相邻像素点的连线,该连线的反方向即为该相邻像素点对应的第一方向。该待插值像素点在第一方向上的灰度梯度即为待插值像素点在该第一方向上的灰度梯度分量。
如图9所示,分别做待插值像素点(O点)与A、B、C、D四个相邻像素点的连线,GA表示待插值像素点(O点)在AO方向上的灰度梯度分量,GB表示待插值像素点(O点)在BO方向上的灰度梯度分量,GC表示待插值像素点(O点)在CO方向上的灰度梯度分量,GD表示待插值像素点(O点)在DO方向上的灰度梯度分量。
基于待插值像素点的初始灰度值、每个相邻像素点的灰度值以及第一预设公式,计算该待插值像素点的多个灰度梯度分量。其中,由于相邻像素点是原始图像中的像素点,可以直接获取到每个相邻像素点的灰度值,而该待插值像素点的初始灰度值可以通过上述步骤S102确定。
其中,第一预设公式如下:
上述(1)式中,i表示各个相邻像素点,i的取值为A、B、C、D,表示待插值像素点(O点)在不同相邻像素点所对应的第一方向上的灰度梯度分量,/>表示对灰度值和距离求导,/>表示单位长度矢量,其方向由相邻像素点指向待插值像素点(O点),Po表示待插值像素点(O点)的灰度值,Pi表示各个相邻像素点的灰度值,ri表示第i个相邻像素点与待插值像素点(O点)之间的距离。
例如,将i=A代入上述(1)式中,即可得到待插值像素点(O点)在AO方向上的灰度梯度分量为:
又例如,将i=B代入上述(1)式中,即可得到待插值像素点(O点)在BO方向上的灰度梯度分量为:
再例如,将i=C代入上述(1)式中,即可得到待插值像素点(O点)在CO方向上的灰度梯度分量为:
又例如,将i=D代入上述(1)式中,即可得到待插值像素点(O点)在DO方向上的灰度梯度分量为:
这种实现方式中,待插值像素点的灰度梯度分量是根据待插值像素点相邻的多个相邻像素点,以及每个相邻像素点的灰度值确定的,此过程中考虑到了待插值像素点在不同方向上的相邻像素点的灰度变化特性,使确定的灰度梯度分量更准确,从而有利于后续根据灰度梯度分量准确地合成待插值像素点的梯度方向。
计算出待插值像素点的多个灰度梯度分量后,对该待插值像素点的多个灰度梯度分量进行矢量合成,得到该待插值像素点的灰度梯度,该灰度梯度包括梯度方向。
为了便于理解,请参阅图10,图10是本申请实施例提供的一种矢量合成示意图。
对进行矢量合成,得到如图10所示的待插值像素点(O点)的灰度梯度G。
如图10所示,以待插值像素点(O点)为坐标原点建立坐标系,x轴与待插值像素点(O点)的梯度方向所在的直线形成的夹角为α,该α为待插值像素点(O点)的梯度方向角。
示例性地,具体的矢量合成过程可通过第二预设公式实现,第二预设公式如下:
上述(2)式中,i的取值为A、B、C、D,Gxi表示Gi在x轴上的分量,Gyi表示Gi在y轴上的分量,α表示待插值像素点(O点)的梯度方向角。
这种实现方式中,待插值像素点的梯度方向是根据待插值像素点的多个灰度梯度分量进行矢量合成后得到的,此过程中考虑到了待插值像素点在不同方向上的灰度梯度分量,使得根据多个灰度梯度分量进行矢量合成得到的梯度方向更准确。
在另一种可能的实现方式中,确定原始图像对应的每个待插值像素点的梯度方向,包括:确定每个待插值像素点与各个相邻像素点之间的权重值,根据各个权重值确定每个待插值像素点的灰度梯度分量,对每个待插值像素点的多个灰度梯度分量进行矢量合成,得到每个待插值像素点的灰度梯度。
示例性地,每个待插值像素点与各个相邻像素点之间的权重值,由每个待插值像素点与各个相邻像素点之间的距离确定。待插值像素点与相邻像素点之间的距离越近,该相邻像素点对应的权重值越大,待插值像素点与相邻像素点之间的距离越远,该相邻像素点对应的权重值越小。
在本申请实施例中,可以预先设定不同的距离值对应不同的权重值。例如,当待插值像素点与相邻像素点之间的距离值在第一距离范围内时,设定该相邻像素点对应的权重值为W1;当待插值像素点与相邻像素点之间的距离值在第二距离范围内时,设定该相邻像素点对应的权重值为W2。又例如,当待插值像素点与相邻像素点之间的距离值小于或等于预设距离阈值时,设定该相邻像素点对应的权重值为W1;当待插值像素点与相邻像素点之间的距离值大于预设距离阈值时,设定该相邻像素点对应的权重值为W2。此处仅为示例性说明,对此不做限定。
示例性地,针对每个待插值像素点,在上述S102中确定该待插值像素点时,可得到该待插值像素点的坐标。同时由于相邻像素点是原始图像中的像素点,可以直接获取到每个相邻像素点的坐标。根据待插值像素点的坐标和每个相邻像素点的坐标,可以计算得到待插值像素点与各个相邻像素点之间的距离值。结合预设的不同的距离值与不同的权重值之间的对应关系,确定每个相邻像素点对应的权重值。
基于待插值像素点的初始灰度值、每个待插值像素点与各个相邻像素点之间的权重值、每个相邻像素点的灰度值以及第二预设公式,计算该待插值像素点的多个灰度梯度分量。其中,由于相邻像素点是原始图像中的像素点,可以直接获取到每个相邻像素点的灰度值,而该待插值像素点的初始灰度值可以通过上述步骤S102确定。
其中,第二预设公式如下:
上述(3)式中,i表示各个相邻像素点,i的取值为A、B、C、D,表示待插值像素点(O点)在不同相邻像素点所对应的第一方向上的灰度梯度分量,/>表示对灰度值和距离求导,/>表示单位长度矢量,其方向由相邻像素点指向待插值像素点(O点),Po表示待插值像素点(O点)的灰度值,Pi表示各个相邻像素点的灰度值,Wi表示各个相邻像素点对应的权重值,ri表示第i个相邻像素点与待插值像素点(O点)之间的距离。
例如,将i=A代入上述(3)式中,即可得到待插值像素点(O点)在AO方向上的灰度梯度分量为:
又例如,将i=B代入上述(3)式中,即可得到待插值像素点(O点)在BO方向上的灰度梯度分量为:
再例如,将i=C代入上述(3)式中,即可得到待插值像素点(O点)在CO方向上的灰度梯度分量为:
又例如,将i=D代入上述(3)式中,即可得到待插值像素点(O点)在DO方向上的灰度梯度分量为:
计算出待插值像素点的多个灰度梯度分量后,对该待插值像素点的多个灰度梯度分量进行矢量合成,得到该待插值像素点的灰度梯度。具体的矢量合成过程可通过上述第二预设公式实现,此处不再赘述。
这种实现方式中,在确定待插值像素点的灰度梯度时,不仅考虑到了待插值像素点在不同方向上的相邻像素点的灰度变化特性,同时还基于不同相邻像素点对应的权重值对相邻像素点的灰度值进行调整,使确定的灰度梯度分量更加准确,从而基于该灰度梯度分量合成的梯度方向也更加准确。
请参阅图11,图11是本申请实施例提供的计算待插值像素点的灰度值的流程示意图。如图11所示,上述S202可以包括S2021和S2022。
S2021:确定每个待插值像素点的边缘方向角。
边缘方向角是指采用x轴方向作为标准方向所确定的,x轴与待插值像素点的边缘方向所在的直线形成的夹角。
在一种可能的实现方式中,边缘方向角可用于确定边缘方向所在的直线的斜率,因此,x轴与待插值像素点的边缘方向所在的直线形成的任一个夹角,只要可以确定出边缘方向所在的直线的斜率,便可作为待插值像素点的边缘方向角,具体以实际情况为准,对此不做限定。
在另一种可能的实现方式中,确定每个待插值像素点的边缘方向角的方式可以为,确定每个待插值像素点的梯度方向角,根据每个待插值像素点的梯度方向角,确定每个待插值像素点的边缘方向角。
其中,梯度方向角为待插值像素点在水平方向上与梯度方向上的夹角。
为了便于理解,请参阅图12,图12是本申请实施例提供的一种边缘方向角示意图。
如图12所示,过待插值像素点(O点)做一条与该待插值像素点(O点)的梯度方向垂直的直线,该直线所在的方向即为待插值像素点(O点)的边缘方向。该直线与A、B、C、D四个相邻像素点围成的正方形相交于点M、N。
如图12所示,x轴与待插值像素点(O点)的梯度方向所在的直线形成的夹角为α,该α为待插值像素点(O点)的梯度方向角。
如图12所示,x轴与待插值像素点(O点)的边缘方向所在的直线形成优角θ,该θ为待插值像素点(O点)的边缘方向角。
可以理解的是,待插值像素点(O点)的梯度方向所在的直线,与待插值像素点(O点)的边缘方向所在的直线垂直,直线OM与待插值像素点(O点)的梯度方向所在的直线形成的夹角为那么该边缘方向角θ便可以通过梯度方向角和/>确定。例如,/>
这种实现方式中,根据每个待插值像素点的梯度方向角,确定每个待插值像素点的边缘方向角,有利于后续根据该边缘方向角准确地计算待插值像素点的灰度值。从而在基于该灰度值进行插值时,可使插值后的图像的连续性越高,插值损失越小,保留更多的图像细节,使最终得到的目标图像清晰无损、质量高。
S2022:根据每个相邻像素点的灰度值、每个待插值像素点的边缘方向以及每个待插值像素点的边缘方向角,计算每个待插值像素点的灰度值。
应理解,相邻像素点是原始图像中的像素点,因此可以直接获取到每个相邻像素点的灰度值。
示例性地,针对每个待插值像素点,确定待插值像素点的边缘方向所在的直线与正方形(该待插值像素点的四个相邻像素点围成的正方形)相交产生的交点。确定待插值像素点与交点之间的距离。基于每个相邻像素点的灰度值,计算交点的灰度值。根据待插值像素点与交点之间的距离,以及交点的灰度值,计算待插值像素点的灰度值。
这种实现方式中,根据每个相邻像素点的灰度值、每个待插值像素点的边缘方向以及每个待插值像素点的边缘方向角,准确地计算每个待插值像素点的灰度值。从而在基于该灰度值进行插值时,可使插值后的图像的连续性越高,插值损失越小,保留更多的图像细节,使最终得到的目标图像清晰无损、质量高。
本申请实施例中,以相邻像素点的数量为4个为例进行说明。因此,多个相邻像素点可以包括第一相邻像素点、第二相邻像素点、第三相邻像素点以及第四相邻像素点。
作为本申请的一个示例,上述S2022的具体实现方式可以包括S20221至S20226:
S20221:针对每个待插值像素点,根据待插值像素点的边缘方向和多个相邻像素点,确定第一交点和第二交点。
第一交点、第二交点以及待插值像素点共线,或者说,第一交点、第二交点以及待插值像素点在边缘方向所在的直线上。
在一种可能的实现方式中,针对每个待插值像素点,根据待插值像素点的边缘方向、第一相邻像素点以及第三相邻像素点,确定第一交点。第一交点与待插值像素点在边缘方向所在的直线上。
为了便于理解,请参阅图13,图13是本申请实施例提供的一种交点示意图。
如图13所示,A表示第一相邻像素点,B表示第二相邻像素点,C表示第三相邻像素点,D表示第四相邻像素点。待插值像素点(O点)的边缘方向所在的直线与第一相邻像素点、第三相邻像素点所在的直线相交,形成第一交点。即MN与AC相交,形成第一交点M。
根据待插值像素点的边缘方向、第二相邻像素点以及第四相邻像素点,确定第二交点。第二交点与待插值像素点在边缘方向所在的直线上。
如图13所示,待插值像素点(O点)的边缘方向所在的直线与第二相邻像素点、第四相邻像素点所在的直线相交,形成第二交点。即MN与BD相交,形成第二交点N。
在另一种可能的实现方式中,针对每个待插值像素点,根据待插值像素点的边缘方向、第一相邻像素点以及第二相邻像素点,确定第一交点。第一交点与待插值像素点在边缘方向所在的直线上。
为了便于理解,请参阅图14,图14是本申请实施例提供的另一种交点示意图。
如图14所示,A表示第一相邻像素点,B表示第二相邻像素点,C表示第三相邻像素点,D表示第四相邻像素点。待插值像素点(O点)的边缘方向所在的直线与第一相邻像素点、第二相邻像素点所在的直线相交,形成第一交点。即MN与AB相交,形成第一交点M。
如图14所示,待插值像素点(O点)的边缘方向所在的直线与第二相邻像素点、第四相邻像素点所在的直线相交,形成第二交点。即MN与BD相交,形成第二交点N。
在又一种可能的实现方式中,针对每个待插值像素点,根据待插值像素点的边缘方向、第一相邻像素点以及第三相邻像素点,确定第一交点。第一交点与待插值像素点在边缘方向所在的直线上。
为了便于理解,请参阅图15,图15是本申请实施例提供的再一种交点示意图。
如图15所示,A表示第一相邻像素点,B表示第二相邻像素点,C表示第三相邻像素点,D表示第四相邻像素点。待插值像素点(O点)的边缘方向所在的直线与第一相邻像素点、第三相邻像素点所在的直线相交,形成第一交点。即MN与AC相交,形成第一交点M。
如图15所示,待插值像素点(O点)的边缘方向所在的直线与第三相邻像素点、第四相邻像素点所在的直线相交,形成第二交点。即MN与CD相交,形成第二交点N。
在另一种可能的实现方式中,针对每个待插值像素点,根据待插值像素点的边缘方向、第一相邻像素点以及第三相邻像素点,确定第一交点。第一交点与待插值像素点在边缘方向所在的直线上。
为了便于理解,请参阅图16,图16是本申请实施例提供的又一种交点示意图。
如图16所示,A表示第一相邻像素点,B表示第二相邻像素点,C表示第三相邻像素点,D表示第四相邻像素点。待插值像素点(O点)的边缘方向所在的直线与第一相邻像素点、第三相邻像素点所在的直线相交,形成第一交点。即MN与AC相交,形成第一交点M。
如图16所示,待插值像素点(O点)的边缘方向所在的直线与第一相邻像素点、第二相邻像素点所在的直线相交,形成第二交点。即MN与AB相交,形成第二交点N。
在又一种可能的实现方式中,针对每个待插值像素点,根据待插值像素点的边缘方向、第三相邻像素点以及第四相邻像素点,确定第一交点。第一交点与待插值像素点在边缘方向所在的直线上。
为了便于理解,请参阅图17,图17是本申请实施例提供的再一种交点示意图。
如图17所示,A表示第一相邻像素点,B表示第二相邻像素点,C表示第三相邻像素点,D表示第四相邻像素点。待插值像素点(O点)的边缘方向所在的直线与第三相邻像素点、第四相邻像素点所在的直线相交,形成第一交点。即MN与CD相交,形成第一交点M。
如图17所示,待插值像素点(O点)的边缘方向所在的直线与第二相邻像素点、第四相邻像素点所在的直线相交,形成第二交点。即MN与BD相交,形成第二交点N。
在另一种可能的实现方式中,针对每个待插值像素点,根据待插值像素点的边缘方向、第一相邻像素点以及第二相邻像素点,确定第一交点。第一交点与待插值像素点在边缘方向所在的直线上。
为了便于理解,请参阅图18,图18是本申请实施例提供的又一种交点示意图。
如图18所示,A表示第一相邻像素点,B表示第二相邻像素点,C表示第三相邻像素点,D表示第四相邻像素点。待插值像素点(O点)的边缘方向所在的直线与第一相邻像素点、第二相邻像素点所在的直线相交,形成第一交点。即MN与AB相交,形成第一交点M。
如图18所示,待插值像素点(O点)的边缘方向所在的直线与第三相邻像素点、第四相邻像素点所在的直线相交,形成第二交点。即MN与CD相交,形成第二交点N。
应理解,不同的实施场景形成交点的方式不同,上述仅为示例性说明,以实际情况为准,对此不做限定。
S20222:根据待插值像素点的边缘方向角,确定第一距离和第二距离。
其中,第一距离表示待插值像素点与第一交点之间的距离,第二距离表示待插值像素点与第二交点之间的距离。
如图13所示,假设以待插值像素点(O点)为坐标原点建立坐标系,待插值像素点(O点)与左上角的相邻像素点(即第一相邻像素点)的水平距离为p,待插值像素点(O点)与左上角的相邻像素点(即第一相邻像素点)的垂直距离为q。
假设第一相邻像素点与第三相邻像素点之间的垂直距离为1,第一相邻像素点与第二相邻像素点之间的水平距离为1,第二相邻像素点与第四相邻像素点之间的垂直距离为1,第三相邻像素点与第四相邻像素点之间的水平距离为1。
基于上述设定的各个距离,可确定第一相邻像素点的坐标为A(-p,-q),第二相邻像素点的坐标为B(1-p,-q),第三相邻像素点的坐标为C(-p,1-q),第三相邻像素点的坐标为D(1-p,1-q)。
假设待插值像素点(O点)的边缘方向所在的直线的斜率为k,则通过下述(3)式计算出k的值。
上述(4)式中,k表示待插值像素点(O点)的边缘方向所在的直线的斜率,θ为待插值像素点(O点)的边缘方向角。
根据数学知识可计算出第一交点M的坐标为(-p,-p*tanθ),第二交点N的坐标为(1-p,(1-p)*tanθ)。
如图13所示,待插值像素点(O点)与第一交点M之间的第一距离用r1表示,待插值像素点(O点)与第二交点N之间的第二距离用r2表示。
通过下述(5)式计算r1、r2的值,具体如下:
上述(5)式中,r1表示待插值像素点(O点)到第一交点M之间的第一距离,r2表示待插值像素点(O点)到第二交点N之间的第二距离。
S20223:基于每个相邻像素点的灰度值,计算第一交点的灰度值和第二交点的灰度值。
例如,根据第一相邻像素点的灰度值和第三相邻像素点的灰度值,确定第一交点的灰度值。
示例性地,在第一相邻像素点的灰度值和第三相邻像素点的灰度值之间进行线性插值,可以得到第一交点的灰度值。
例如,通过第一线性插值多项式可以计算出第一交点的灰度值,第一线性插值多项式如下:
PM=PA+(PC-PA)q1, (6)
上述(6)式中,PM表示第一交点M的灰度值,PA表示第一相邻像素点A的灰度值,PC表示第三相邻像素点C的灰度值,q1表示第一交点M与第一相邻像素点A之间的距离。
其中,q1可通过第一交点M的坐标和第一相邻像素点A的坐标计算得到。例如,q1=q-p tanθ。
根据第二相邻像素点的灰度值和第四相邻像素点的灰度值,确定第二交点的灰度值。
示例性地,在第二相邻像素点的灰度值和第四相邻像素点的灰度值之间进行线性插值,可以得到第二交点的灰度值。
例如,通过第二线性插值多项式可以计算出第二交点的灰度值,第二线性插值多项式如下:
PN=PB+(PD-PB)q2, (7)
上述(7)式中,PN表示第二交点N的灰度值,PB表示第二相邻像素点B的灰度值,PD表示第四相邻像素点D的灰度值,q2表示第二交点N与第二相邻像素点B之间的距离。
其中,q2可通过第二交点N的坐标和第二相邻像素点B的坐标计算得到。例如,q2=q+(1-p)tanθ。
S20224:根据第一距离、第二距离、第一交点的灰度值,以及第二交点的灰度值,计算待插值像素点的灰度值。
示例性地,在第一交点的灰度值和第二交点的灰度值之间进行线性插值,可以得到待插值像素点的灰度值。
例如,通过第三线性插值多项式可以计算出待插值像素点的灰度值,第三线性插值多项式如下:
上述(8)式中,PO表示待插值像素点(O点)的灰度值,r2表示待插值像素点(O点)到第二交点N之间的第二距离,PM表示第一交点M的灰度值,r1表示待插值像素点(O点)到第一交点M之间的第一距离,PN表示第二交点N的灰度值。
在每个待插值像素点的边缘方向上,基于计算得到的待插值像素点的灰度值进行插值,得到目标图像。
这种实现方式中,根据每个相邻像素点的灰度值、每个待插值像素点的边缘方向以及每个待插值像素点的边缘方向角,准确地计算每个待插值像素点的灰度值。从而在基于该灰度值进行插值时,可使插值后的图像的连续性越高,插值损失越小,保留更多的图像细节,使最终得到的目标图像清晰无损、质量高。
值得说明的是,开始确定的(即步骤S102中确定的)待插值像素点的初始灰度值是通过传统的插值算法确定的,为了得到更精确的梯度方向、边缘方向以及待插值像素点的灰度值,可以不断迭代计算待插值像素点的灰度值,直至边缘方向角θ收敛。再根据边缘方向角θ收敛时得到的待插值像素点的灰度值进行插值,得到目标图像。由于不断迭代使得确定的梯度方向、边缘方向以及待插值像素点的灰度值更精确,从而在基于该迭代后的边缘方向和灰度值进行插值时,可使插值后的图像保留的细节更多、更准确,进一步提升了目标图像的质量。
有鉴于此,本申请实施例提供的图像处理方法,还可包括S401至S407。值得说明的是,S401至S407可在上述步骤S202后执行。
请参阅图19,图19是本申请实施例提供的一种图像处理方法的流程示意图。如图19所示,该图像处理方法包括S401至S407。
S401:针对每个待插值像素点,将待插值像素点的灰度值确定为待插值像素点的初始灰度值。
以一轮执行过程为例,将上述步骤S202中确定的待插值像素点的灰度值,作为待插值像素点的初始灰度值。以当前的待插值像素点的初始灰度值为基础,再次执行计算待插值像素点的灰度值的过程,从而计算出新的待插值像素点的灰度值。
S402:基于初始灰度值和多个相邻像素点的灰度值,计算待插值像素点的多个灰度梯度分量。
基于重新确定的待插值像素点的初始灰度值和多个相邻像素点的灰度值,计算待插值像素点的多个灰度梯度分量。具体地计算过程可参考上述步骤S301中的描述,此次不再赘述。
S403:基于多个灰度梯度分量,确定待插值像素点的灰度梯度。
示例性地,对该待插值像素点的多个灰度梯度分量进行矢量合成,得到该待插值像素点的灰度梯度。具体地实现过程可参考上述步骤S301中的描述,此次不再赘述。
S404:根据灰度梯度,确定待插值像素点的边缘方向。
示例性地,步骤S403中确定的灰度梯度包括梯度方向,该梯度方向是更新后的梯度方向。基于该更新后的梯度方向,确定该待插值像素点新的边缘方向。新的边缘方向与更新后的梯度方向垂直。
S405:确定待插值像素点的边缘方向角。
示例性地,确定该待插值像素点的梯度方向角,根据该待插值像素点的梯度方向角,确定该待插值像素点的边缘方向角。具体地实现过程可参考上述步骤S2021中的描述,此次不再赘述。
S406:根据每个相邻像素点的灰度值、待插值像素点的边缘方向以及待插值像素点的边缘方向角,计算待插值像素点的灰度值。
具体地实现过程可参考上述步骤S2022中的描述,值得说明的是,步骤S406与步骤S2022中不同的是,步骤S406中的待插值像素点的边缘方向以及待插值像素点的边缘方向角是根据重新确定的待插值像素点的初始灰度值确定的,即步骤S406中的待插值像素点的边缘方向以及待插值像素点的边缘方向角是更新后的。
S407:重复上述步骤,当边缘方向角收敛时,在每个待插值像素点的边缘方向上,基于待插值像素点的灰度值进行插值,得到目标图像,包括:在每个待插值像素点的边缘方向上,根据边缘方向角收敛时得到的待插值像素点的灰度值进行插值,得到目标图像。
示例性地,边缘方向角收敛是指边缘方向角趋于某个预设角度。
在一种可能地实现方式中,边缘方向角未收敛,则重复执行上述步骤S401至S406,即继续将步骤S406中计算得到的待插值像素点的灰度值确定为该待插值像素点新的初始灰度值。基于再次确定的待插值像素点新的初始灰度值更新梯度方向、边缘方向以及待插值像素点的灰度值等,直至边缘方向角收敛。
在另一种可能地实现方式中,边缘方向角收敛。为了便于理解,请参阅图20,图20是本申请实施例提供的边缘方向角收敛示意图。
如图20所示,横轴表示迭代的次数,纵轴表示边缘方向角的角度,虚线表示边缘方向角收敛时所对应的预设角度,曲线表示边缘方向角在不同阶段变化的实际角度,可见,随着迭代次数的增加,边缘方向角逐渐收敛。
当边缘方向角收敛时,将边缘方向角收敛时得到的待插值像素点的灰度值最为最终的灰度值,即最后用来插值的灰度值。在每个待插值像素点的边缘方向上,根据边缘方向角收敛时得到的待插值像素点的灰度值进行插值,得到目标图像。
例如,当缩放指令为放大指令时,在每个待插值像素点的边缘方向上,根据边缘方向角收敛时得到的待插值像素点的灰度值进行上插值,得到目标图像。
又例如,当缩放指令为缩小指令时,在每个待插值像素点的边缘方向上,根据边缘方向角收敛时得到的待插值像素点的灰度值进行下插值,得到目标图像。
这种实现方式中,由于不断迭代使得确定的梯度方向、边缘方向以及待插值像素点的灰度值都更加精确,从而在基于该迭代后的边缘方向和灰度值进行插值时,可使插值后的图像保留的细节更多、更准确,进一步提升了目标图像的质量。
为了便于理解,请参阅图21,图21是采用本申请提供的图像处理方法放大图像的场景示意图。
如图21所示,假设缩略图中的某个图像以原图显示时,显示为图21中(a)所示的图像301,当想要对图像301中的局部图像302进行放大操作时,用户可以两指同时触摸局部图像302所在的区域并向外滑动,即可放大局部图像302。如图21中(b)所示,图像303即为局部图像302放大后的图像。
由于本申请考虑到了图像的边缘特性,因此,本申请提供的图像处理方法在对图像进行处理的过程中,结合图像的边缘特性,能够使处理后得到的目标图像反映图像真实的轮廓信息,提升了处理后的图像质量,保证处理后的图像清晰无损。相对于相关技术来说,有效避免了处理后的图像出现条纹(或称锯齿)现象。
上文详细介绍了本申请实施例提供的图像处理方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如第一确定单元、第二确定单元以及插值单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述图像处理方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、WiFi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图3所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的图像处理方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的图像处理方法。
本申请实施例还提供了一种芯片。请参阅图22,图22是本申请实施例提供的一种芯片的结构示意图。图22所示的芯片可以为通用处理器,也可以为专用处理器。该芯片包括处理器410。其中,处理器410用于执行上述任一实施例的图像处理方法。
可选的,该芯片还包括收发器420,该收发器420用于接受处理器的控制,用于支持通信装置执行前述所示的技术方案。
可选的,图22所示的芯片还可以包括:存储介质430。
需要说明的是,图22所示的芯片可以使用下述电路或者器件来实现:一个或多个现场可编程门阵列(field programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其他适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种图像处理方法,其特征在于,包括:
根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向,所述边缘方向与所述梯度方向垂直;
确定每个待插值像素点的灰度值;
在每个待插值像素点的边缘方向上,基于所述待插值像素点的灰度值进行插值,得到所述原始图像对应的目标图像。
2.如权利要求1所述的图像处理方法,其特征在于,所述方法还包括:
确定所述原始图像对应的每个待插值像素点的梯度方向。
3.如权利要求2所述的图像处理方法,其特征在于,所述确定所述原始图像对应的每个待插值像素点的梯度方向,包括:
确定每个待插值像素点的灰度梯度分量,所述灰度梯度分量指示所述待插值像素点在第一方向上的灰度梯度,所述第一方向为所述待插值像素点的相邻像素点指向所述待插值像素点的方向;
对每个待插值像素点的多个灰度梯度分量进行矢量合成,得到每个待插值像素点的灰度梯度,所述灰度梯度包括梯度方向。
4.如权利要求3所述的图像处理方法,其特征在于,所述确定每个待插值像素点的灰度梯度分量,包括:
针对每个待插值像素点,确定所述原始图像中与所述待插值像素点相邻的多个相邻像素点,以及每个相邻像素点的灰度值;
基于所述待插值像素点的初始灰度值和多个相邻像素点的灰度值,计算所述待插值像素点的多个灰度梯度分量。
5.如权利要求4所述的图像处理方法,其特征在于,所述确定每个待插值像素点的灰度值,包括:
确定每个待插值像素点的边缘方向角;
根据每个相邻像素点的灰度值、每个待插值像素点的边缘方向以及每个待插值像素点的边缘方向角,计算每个待插值像素点的灰度值。
6.如权利要求5所述的图像处理方法,其特征在于,所述根据每个相邻像素点的灰度值、每个待插值像素点的边缘方向以及每个待插值像素点的边缘方向角,计算每个待插值像素点的灰度值,包括:
针对每个待插值像素点,根据所述待插值像素点的边缘方向和所述多个相邻像素点,确定第一交点和第二交点,所述第一交点、所述第二交点以及所述待插值像素点共线;
根据所述待插值像素点的边缘方向角,确定第一距离和第二距离,所述第一距离表示所述待插值像素点与所述第一交点之间的距离,所述第二距离表示所述待插值像素点与所述第二交点之间的距离;
基于每个相邻像素点的灰度值,计算所述第一交点、所述第二交点的灰度值;
根据所述第一距离、所述第二距离、所述第一交点的灰度值,以及所述第二交点的灰度值,计算所述待插值像素点的灰度值。
7.如权利要求5所述的图像处理方法,其特征在于,所述确定每个待插值像素点的边缘方向角,包括:
确定每个待插值像素点的梯度方向角,所述梯度方向角为所述待插值像素点在水平方向上与梯度方向上的夹角;
根据每个待插值像素点的梯度方向角,确定每个待插值像素点的边缘方向角。
8.如权利要求1至7任一项所述的图像处理方法,其特征在于,所述方法还包括:
针对每个待插值像素点,将所述待插值像素点的灰度值确定为所述待插值像素点的初始灰度值;
基于所述初始灰度值和多个相邻像素点的灰度值,计算所述待插值像素点的多个灰度梯度分量;
基于所述多个灰度梯度分量,确定所述待插值像素点的灰度梯度;
根据所述灰度梯度,确定所述待插值像素点的边缘方向;
确定所述待插值像素点的边缘方向角;
根据每个相邻像素点的灰度值、所述待插值像素点的边缘方向以及所述待插值像素点的边缘方向角,计算所述待插值像素点的灰度值;
重复上述步骤,当所述边缘方向角收敛时,在每个待插值像素点的边缘方向上,基于所述待插值像素点的灰度值进行插值,得到所述原始图像对应的目标图像,包括:
在每个待插值像素点的边缘方向上,根据所述边缘方向角收敛时得到的所述待插值像素点的灰度值进行插值,得到所述目标图像。
9.如权利要求1至8任一项所述的图像处理方法,其特征在于,在根据原始图像对应的每个待插值像素点的梯度方向,确定每个待插值像素点的边缘方向之前,还包括:
检测用于缩放的操作;
响应于所述操作,确定所述原始图像的缩放比例;
根据所述缩放比例以及插值算法,确定所述原始图像对应的每个待插值像素点。
10.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述存储器存储有一个或多个程序,当所述一个或者多个程序被所述处理器执行时,使得所述电子设备执行权利要求1至9中任一项所述的方法。
11.一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的电子设备执行如权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310558777.9A CN117726557B (zh) | 2023-05-17 | 2023-05-17 | 图像处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310558777.9A CN117726557B (zh) | 2023-05-17 | 2023-05-17 | 图像处理方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117726557A true CN117726557A (zh) | 2024-03-19 |
CN117726557B CN117726557B (zh) | 2024-11-22 |
Family
ID=90209363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310558777.9A Active CN117726557B (zh) | 2023-05-17 | 2023-05-17 | 图像处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117726557B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080055338A1 (en) * | 2006-08-30 | 2008-03-06 | Ati Technologies Inc. | Multi-stage edge-directed image scaling |
CN101188017A (zh) * | 2007-12-18 | 2008-05-28 | 上海广电集成电路有限公司 | 数字图像的缩放方法以及系统 |
CN101790069A (zh) * | 2010-03-09 | 2010-07-28 | 周艇 | 一种基于图像边缘方向的尺度变换方法 |
CN104737199A (zh) * | 2012-10-24 | 2015-06-24 | 夏普株式会社 | 图像处理装置 |
CN104881843A (zh) * | 2015-06-10 | 2015-09-02 | 京东方科技集团股份有限公司 | 图像插值方法和图像插值装置 |
CN105678700A (zh) * | 2016-01-11 | 2016-06-15 | 苏州大学 | 基于预测梯度的图像插值方法及系统 |
WO2016154966A1 (zh) * | 2015-04-01 | 2016-10-06 | 中国科学院自动化研究所 | 基于边缘自适应的图像缩放方法及系统 |
CN114529459A (zh) * | 2022-04-25 | 2022-05-24 | 东莞市兆丰精密仪器有限公司 | 一种对图像边缘进行增强处理的方法和系统及介质 |
-
2023
- 2023-05-17 CN CN202310558777.9A patent/CN117726557B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080055338A1 (en) * | 2006-08-30 | 2008-03-06 | Ati Technologies Inc. | Multi-stage edge-directed image scaling |
CN101188017A (zh) * | 2007-12-18 | 2008-05-28 | 上海广电集成电路有限公司 | 数字图像的缩放方法以及系统 |
CN101790069A (zh) * | 2010-03-09 | 2010-07-28 | 周艇 | 一种基于图像边缘方向的尺度变换方法 |
CN104737199A (zh) * | 2012-10-24 | 2015-06-24 | 夏普株式会社 | 图像处理装置 |
WO2016154966A1 (zh) * | 2015-04-01 | 2016-10-06 | 中国科学院自动化研究所 | 基于边缘自适应的图像缩放方法及系统 |
CN104881843A (zh) * | 2015-06-10 | 2015-09-02 | 京东方科技集团股份有限公司 | 图像插值方法和图像插值装置 |
CN105678700A (zh) * | 2016-01-11 | 2016-06-15 | 苏州大学 | 基于预测梯度的图像插值方法及系统 |
CN114529459A (zh) * | 2022-04-25 | 2022-05-24 | 东莞市兆丰精密仪器有限公司 | 一种对图像边缘进行增强处理的方法和系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117726557B (zh) | 2024-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12335601B2 (en) | Image capture method, graphic user interface, and electronic device | |
US20220408020A1 (en) | Image Processing Method, Electronic Device, and Cloud Server | |
CN114115769B (zh) | 一种显示方法及电子设备 | |
US12210720B2 (en) | Display method and electronic device | |
WO2022042285A1 (zh) | 一种应用程序界面显示的方法及电子设备 | |
WO2018120238A1 (zh) | 用于处理文档的设备、方法和图形用户界面 | |
US10863077B2 (en) | Image photographing method, apparatus, and terminal | |
JP2019500631A (ja) | 電子デバイス及び表示方法 | |
WO2023273465A1 (zh) | 地图显示方法、装置与终端设备 | |
WO2023142915A1 (zh) | 图像处理方法、装置、设备及存储介质 | |
CN117055779B (zh) | 应用界面显示方法、终端设备及存储介质 | |
CN114723613A (zh) | 图像处理方法及装置、电子设备、存储介质 | |
CN116088740B (zh) | 界面处理方法和装置 | |
CN117726557B (zh) | 图像处理方法、电子设备及存储介质 | |
WO2024027374A1 (zh) | 隐藏信息显示方法、设备、芯片系统、介质及程序产品 | |
CN115033199B (zh) | 移动终端及其图像显示方法 | |
CN115686705B (zh) | 一种界面显示方法及电子设备 | |
EP4528647A1 (en) | Image processing method and electronic device | |
EP4517520A1 (en) | Display method and electronic device | |
CN108600500B (zh) | 图片显示方法、装置、移动终端及存储介质 | |
WO2021243955A1 (zh) | 主色调提取方法及装置 | |
CN120010965A (zh) | 显示方法、电子设备以及存储介质 | |
WO2025025657A1 (zh) | 一种设置壁纸的方法及电子设备 | |
CN108536406B (zh) | 图片显示方法、装置、移动终端及存储介质 | |
CN115862552A (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 | ||
CP03 | Change of name, title or address |
Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Terminal Co.,Ltd. Country or region after: China Address before: 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong Patentee before: Honor Device Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |