CN111402117B - 图片处理方法、装置、存储介质及客户端设备 - Google Patents
图片处理方法、装置、存储介质及客户端设备 Download PDFInfo
- Publication number
- CN111402117B CN111402117B CN202010171525.7A CN202010171525A CN111402117B CN 111402117 B CN111402117 B CN 111402117B CN 202010171525 A CN202010171525 A CN 202010171525A CN 111402117 B CN111402117 B CN 111402117B
- Authority
- CN
- China
- Prior art keywords
- picture
- pixel matrix
- index value
- target pixel
- value
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 239000011159 matrix material Substances 0.000 claims abstract description 196
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种图片处理方法、装置、存储介质及客户端设备。该方法包括:获取第一图片的像素矩阵;获取所述第一图片对应的索引值,所述索引值用于获取第二图片,所述第一图片为缩小所述第二图片得到;将所述索引值存储至所述像素矩阵中,得到目标像素矩阵。本申请所提供的图片处理方法可兼容新老版本客户端,兼容性较好。
Description
技术领域
本申请属于电子技术领域,尤其涉及一种图片处理方法、装置、存储介质及客户端设备。
背景技术
随着电子技术的不断发展,人们越来越多的依赖客户端与服务器的交互来获取图片进行浏览等。相关技术中,随着客户端版本的升级,客户端设备获取图片的方式也会随之更新,更新后的获取图片的方式往往不能兼容于老版本客户端。应用于老版本客户端的获取图片的方式也不能兼容于新版本客户端,即新老版本客户端分别所对应的获取图片的方式不能相互兼容。可见,相关技术中,获取图片的方式的兼容性较差。
发明内容
本申请实施例提供一种图片处理方法、装置、存储介质及客户端设备,可以兼容新老版本客户端,兼容性较好。
本申请实施例提供一种图片处理方法,应用于客户端设备,包括:
获取第一图片的像素矩阵;
获取所述第一图片对应的索引值,所述索引值用于获取第二图片,所述第一图片为缩小所述第二图片得到;
将所述索引值存储至所述像素矩阵中,得到目标像素矩阵。
本申请实施例提供一种图片处理装置,应用于客户端设备,包括:
第一获取模块,用于获取第一图片的像素矩阵;
第二获取模块,用于获取所述第一图片对应的索引值,所述索引值用于获取第二图片,所述第一图片为缩小所述第二图片得到;
存储模块,用于将所述索引值存储至所述像素矩阵中,得到目标像素矩阵。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的图片处理方法中的流程。
本申请实施例还提供一种客户端设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的图片处理方法中的流程。
本申请实施例中,可以将用于获取第二图片的索引值存储至第一图片的像素矩阵中,得到目标像素矩阵,该第一图片为缩小第二图片得到。那么,在新版本客户端需要显示第二图片时,客户端设备可从该目标像素矩阵中提取索引值,从而可获取该索引值对应的第二图片进行显示。当老版本客户端需要显示第一图片时,客户端设备可直接将该目标像素矩阵转换为第三图片,并显示该第三图片,该第三图片的内容与第一图片的内容相同,从而间接地显示了第一图片。可知,本申请实施例所提供的图片处理方法可兼容新老版本客户端,兼容性较好。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的图片处理方法的第一种流程示意图。
图2是本申请实施例提供的图片处理方法的第二种流程示意图。
图3是本申请实施例提供的图片处理方法的第三种流程示意图。
图4是本申请实施例提供的图片处理装置的结构示意图。
图5是本申请实施例提供的客户端设备的第一种结构示意图。
图6是本申请实施例提供的客户端设备的第二种结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等客户端设备。
相关技术中,提供两种获取图片的方式。第一种获取图片的方式为:客户端设备预先将图片数据上传至服务器存储。客户端设备向服务器发送图片获取请求,服务器根据图片获取请求返回相应的图片数据。客户端设备接收该图片数据,并进行解析,得到图片的像素矩阵。客户端设备将像素矩阵转换为图片,并显示该图片。
第二种获取图片的方式可以为:客户端设备预先将用于获取图片的索引值上传至服务器存储,并将索引值对应的图片存储于内存中。客户端设备向服务器发送图片获取请求,服务器根据图片获取请求返回相应的索引值。客户端设备接收该索引值。客户端设备从内存中获取该索引值对应的图片,并显示该图片。
其中,客户端设备中的客户端可根据用户需求在新老版本之间切换。而相关技术中,老版本客户端仅支持第一种获取图片的方式,即老版本客户端仅支持直接将从服务器获取的数据转换为像素矩阵,再将像素矩阵转换为图片并显示。新版本客户端仅支持第二种获取图片的方式,即新版本客户端仅支持先从服务器获取索引值,再获取该索引值对应的图片并显示。可见,相关技术中,新老版本客户端分别所对应的获取图片的方式不能相互兼容,兼容性较差。
请参阅图1,图1是本申请实施例提供的图片处理方法的第一种流程示意图,流程可以包括:
在101中,获取第一图片的像素矩阵。
其中,图片可以用像素矩阵的形式表示。当图片为灰度图片时,该灰度图片的像素矩阵的行对应图片的高,该灰度图片的像素矩阵的列对应图片的宽,该灰度图片的像素矩阵的元素的值就是像素的灰度值。
当图片为每个像素点可用颜色值和透明度(Alpha,A)值表示的彩色图片时,该彩色图片的像素矩阵的行对应图片的高,该彩色图片的像素矩阵的列对应图片的宽,该彩色图片的像素矩阵的每个元素的值可以用一个数组表示。其中,每个像素点的颜色值可包括红色(Red,R)值、绿色(Green,G)值、蓝色(Blue,B)值,因此该数组包括4个元素,该4个元素的值分别为像素点的R值、G值、B值和A值。其中,该数组的第1个元素的值可以为像素点的R值;该数组的第2个元素的值可以为像素点的G值;该数组的第3个元素的值可以为像素点的B值;该数组的第4个元素的值可以为像素点的A值。
需要说明的是,R值、G值、B值和A值的取值范围为0~255,通常可用8位二进制数来表示。比如,若R值为2,则R值可以表示为00000010。
例如,若彩色图片G1的高和宽均为2个像素,每个像素点的R值、G值、B值和A值均为00001000,则该图片G1的像素矩阵可表示为:
在本申请实施例中,客户端设备可获取第一图片的像素矩阵。其中,该第一图片可为彩色图片,该第一图片可包括一个或多个特殊像素点。其中,该特殊像素点的A值为0,即该特殊像素点的透明度为全透明。该特殊像素点具有一个特性,即即使该特殊像素点的R值、G值和B值中存在不为0的值,该特殊像素点也将以全透明的形式显示。也可以说,即使该特殊像素点的R值、G值和B值的取值有所改变,也不会对该特殊像素点的显示造成影响。
可以理解的是,与特殊像素点相对的可以为普通像素点。其中,该普通像素点的A值不为0。那么,当该普通像素点的R值、G值和B值的取值有所改变时,将会对该普通像素点的显示造成影响。
在102中,获取第一图片对应的索引值,该索引值用于获取第二图片,第一图片为缩小第二图片得到。
比如,客户端设备还可获取第一图片对应的索引值。该索引值可用于获取第二图片。第一图片为缩小第二图片得到。其中,一索引值可对应获取一张第二图片。索引值也可用二进制数表示。其中,用多少位二进制数来表示索引值与第二图片的数量相关。当客户端设备中存储的第二图片不大于15张时,则可用4位二进制数表示每一张第二图片的索引值,即索引值的取值范围为0001~1111。当客户端设备中存储的第二图片大于15张,且不大于255张时,则可用8位二进制数表示每一张第二图片的索引值,即索引值的取值范围为00000001~11111111,以此类推。
需要说明的是,在对第二图片进行缩小处理,得到第一图片时,本申请实施例并不对缩小倍数进行限制,以实际需求为准。
还需要说明的是,第二图片可以预先存储在客户端对应的安装包中。当用户将客户端安装在客户端设备中时,客户端设备可自动抽取该第二图片,并将该第二图片存储于内存中。该第二图片也可以是用户从其他客户端设备或互联网获取的图片,此处不作具体限制。
在103中,将索引值存储至像素矩阵中,得到目标像素矩阵。
在本申请实施例中,当获取到像素矩阵和索引值之后,客户端设备可将索引值存储至像素矩阵中,得到目标像素矩阵。
比如,由于特殊像素点的R值、G值和B值的取值有所改变,也不会对该特殊像素点的显示造成影响,那么,客户端设备可将特殊像素点的R值、G值和/或B值替换为索引值,从而得到目标像素矩阵。
例如,假设索引值为0001,第一图片的像素矩阵的特殊像素点P1的值为{00010010,01100111,01110001,00000000},客户端设备可将该特殊像素点P1的R值,即00010010的后四位替换为0001。则客户端设备所得到的目标像素矩阵中,特殊像素点P1的R值为00010001,其他值保持不变,且该目标像素矩阵中的其他像素点的值与第一图片的像素矩阵的其他像素点的值一致。为方便后续从目标像素矩阵中提取索引值。客户端设备还可对特殊像素点P1进行第一标识,该第一标识用于指示特殊像素点P1的R值的后四位为索引值。那么,当后续需要从目标像素矩阵中提取索引值时,客户端设备可从目标像素矩阵中确定出存在标识的像素点,即特殊像素点P1,然后取出该特殊像素点P1的R值的后四位,将其作为索引值。
可以理解的是,当索引值与颜色值相同时,客户端可以不作替换,直接对特殊像素点进行标识即可。例如,对于该特殊像素点P1,该特殊像素点P1的B值的后四位与索引值相同,那么,客户端设备可直接对该特殊像素点P1进行第二标识,该第二标识用于指示特殊像素点P1的B值的后四位为索引值。
在一些实施例中,客户端设备可从像素矩阵中确定出与索引值对应的像素点,然后对该像素点进行标识。当后期需要取出索引值时,客户端设备可根据该标识取出索引值。其中,当某像素点的R值、B值、G值和/或A值与该索引值相同时,客户端设备可确定该像素点与索引值对应。当某像素点的R值与索引值相同时,客户端设备可对该像素点进行第一标识。当某像素点的G值与索引值相同时,客户端设备可对该像素点进行第二标识。当某像素点的B值与索引值相同时,客户端设备可对该像素点进行第三标识。当某像素点的A值与索引值相同时,客户端设备可对该像素点进行第四标识。其中,第一标识、第二标识、第三标识和第四标识为不同的四个标识,以方便从像素点中确定出索引值。
例如,当索引值为00010000,像素点矩阵中存在像素点P2,该像素点P2的值为{00010000,00001000,01101111,10110111}时,由于该像素点P2的R值与该索引值相同,则与该索引值对应的像素点可以为像素点P2。客户端设备可对该像素点P1进行第一标识。当后期需要取出索引值时,客户端设备可从像素矩阵中确定出具有标识的像素点。然后,将该像素点的R值确定为索引值。
本申请实施例中,可以将用于获取第二图片的索引值存储至第一图片的像素矩阵中,得到目标像素矩阵,该第一图片为缩小第二图片得到。那么,在新版本客户端需要显示第二图片时,客户端设备可从该目标像素矩阵中提取索引值,从而可获取该索引值对应的第二图片进行显示。当老版本客户端需要显示第一图片时,客户端设备可直接将该目标像素矩阵转换为第三图片,并显示该第三图片,该第三图片的内容与第一图片的内容相同,从而间接地显示了第一图片。可知,本申请实施例所提供的图片处理方法可兼容新老版本客户端,兼容性较好。
在一些实施例中,“将索引值存储至像素矩阵中,得到目标像素矩阵”,可以包括:
(1)从像素矩阵中选取出颜色值和透明度值均为零的目标像素点;
(2)将索引值存储至目标像素点中,得到目标像素矩阵。
比如,假设第一图片的像素矩阵中存在像素点P3,其中,像素点P3的值为{00000000,00000000,00000000,00000000}。客户端设备可将该像素点P3确定为目标像素点。客户端设备可将索引值存储至该目标像素点P3中,得到目标像素矩阵。
在一些实施例中,“将索引值存储至目标像素点中,得到目标像素矩阵”,可以包括:
(1)获取目标像素点的初始颜色值;
(2)将目标像素点的初始颜色值替换为索引值,得到目标像素矩阵。
比如,假设目标像素点P4的值为{00000000,00000000,00000000,00000000},索引值为01001111。客户端设备可获取目标像素点P4的初始颜色值,如红色值,即00000000。然后,客户端设备可将目标像素点P4的初始颜色值替换为索引值,即将00000000替换为01001111,得到新的像素点P11,从而形成目标像素矩阵。在后续需要提取索引值时,客户端设备可确定出该目标像素点P4,并将该目标像素点P4的值与{00000000,00000000,00000000,00000000}进行异或操作,得到异或操作结果。可以理解,该异或操作结果为01001111(全为0的值可忽略),因此,客户端设备可将该异或操作结果作为索引值。
需要说明的是,由于像素矩阵中还可能存在颜色值不为零,透明度值为零的像素点,为避免这些像素点与存储有索引值的像素点混淆,客户端设备可对存储有索引值的像素点进行标识。后续客户端设备可直接根据标识从目标像素矩阵中选取出存储有索引值的像素点。
在一些实施例中,“将索引值存储至像素矩阵中,得到目标像素矩阵”,可以包括:
(1)从像素矩阵中选取出颜色值和透明度值均为零的第一像素点;
(2)检测像素矩阵中是否存在透明度值为零,且颜色值不为零的像素点;
(3)若存在,则将像素点的颜色值置零,透明度值保持不变,得到第二像素点;
(4)将索引值存储至第一像素点和/或第二像素点中,得到目标像素矩阵。
比如,若像素矩阵中仅存在一透明度值为零,且颜色值不为零的像素点,即像素点P5。其中,像素点P5的值为{00100111,11001000,00000000,00000000},则第二像素点的值可以为{00000000,00000000,00000000,00000000}。随后,客户端设备可将索引值存储至第一像素点和/或第二像素点中,得到目标像素矩阵。
例如,假设索引值为01001000,客户端设备可将第一像素点P6或第二像素点P7的R值替换为该索引值,即第一像素点P6或第二像素点P7的值被更改为{01001000,00000000,00000000,00000000},得到目标像素矩阵。可以理解,该目标像素矩阵相对于第一图片的像素矩阵来说,仅第一像素点P6或第二像素点P7以及透明度值为零,颜色值不为零的像素点的值进行了更改,其他像素点的值保持不变。
在一些情况中,假设客户端设备中存储的第二图片较多,即每一第二图片的索引值用较多位二进制数表示。比如,用72位二进制数表示,而某第一图片的像素矩阵对应的第一像素点和第二像素点的总数量为4,那么,客户端设备可将索引值存储至第一像素点和第二像素点中,得到目标像素矩阵。可以理解,该第一图片的像素矩阵对应的第一像素点和第二像素点的初始颜色值(包括R值、B值和G值)均被替换为索引值。
当需要从目标像素矩阵中提取出索引值时,客户端设备可对{00000000,00000000,00000000,00000000}和目标像素矩阵中的每个透明度值为0的第三像素点进行异或操作,得到多个异或操作结果。该多个异或操作结果可构成索引值。例如,假设目标像素矩阵中存在2个第三像素点。分别为第三像素点P8和P9。第三像素点P8的值为{01000000,00001100,00000111,00000000},第三像素点P9的值为{11000000,00100000,00111000,00000000},则客户端设备可对{00000000,00000000,00000000,00000000}和第三像素点P8进行异或操作,并对{00000000,00000000,00000000,00000000}和第三像素点P9进行异或操作,得到的异或操作结果为010000000000110000000111和110000000010000000111000。则索引值可以为010000000000110000000111110000000010000000111000。
可以理解的是,若像素矩阵中不存在透明度值为零,且颜色值不为零的像素点,则客户端设备可将索引值存储至第一像素点中,得到目标像素矩阵。
在一些实施例中,“将索引值存储至像素矩阵中,得到目标像素矩阵”之后,还可以包括:
(1)对目标像素矩阵进行加密处理,得到加密数据;
(2)将加密数据上传至服务器,以使服务器接收到客户端设备发送的图片获取请求时,将加密数据发送至客户端设备。
比如,当得到目标像素矩阵之后,客户端设备可将该目标像素矩阵上传至服务器。出于安全性的考虑,客户端设备可先对目标像素矩阵进行加密处理,比如对目标像素矩阵进行AES加密处理、RSA加密处理、VIP加密处理或者将目标像素矩阵转换为Base64字符串,得到加密数据。可以理解,该Base64字符串为加密数据的一种。随后,客户端设备可将加密数据上传至服务器,以使服务器接收到客户端设备发送的图片获取请求时,可将该加密数据发送至客户端设备。该图片获取请求可用于获取第一图片或第二图片。
可以理解的是,客户端设备可按照上述方式根据多个第二图片中的每个第二图片得到目标像素矩阵,从而得到多个目标像素矩阵,并转换为多个加密数据上传至服务器。
还可以理解的是,在将加密数据上传至服务器时,客户端设备还可将加密数据对应的第二图片,及第二图片对应的索引值上传至服务器,以使服务器将该第二图片及其对应的索引值推送至其他客户端设备。其他客户端设备可根据自身需求下载第二图片及其对应的索引值进行存储。比如,假设服务器推送的第二图片是某客户端设备中不存在的图片,那么,该客户端设备可下载该第二图片及其对应的索引值并进行存储,从而在该客户端设备需要显示该第二图片时,该客户端可从客户端下载该加密数据。然后对该加密数据进行解密,得到目标像素矩阵,然后从像素矩阵中提取出索引值。然后获取该索引值对应的该第二图片并进行显示。
在一些实施例中,“将加密数据上传至服务器”之后,还可以包括:
(1)向服务器发送图片获取请求;
(2)接收服务器根据图片获取请求返回的加密数据;
(3)对加密数据进行解密处理,得到目标像素矩阵;
(4)从目标像素矩阵中提取出索引值;
(5)获取索引值对应的第二图片;
(6)显示第二图片。
可以理解的是,当新版本客户端设备需要显示某第二图片时,客户端设备可向服务器发送该第二图片的图片获取请求。随后,客户端设备接收服务器根据该图片获取请求返回的第二图片对应的加密数据。接着,客户端设备可对该加密数据进行解密处理,得到目标像素矩阵。然后,客户端设备可从目标像素矩阵中提取出索引值。随后,客户端设备可获取该索引值对应的第二图片。最后,客户端设备可显示该第二图片。
需要说明的是,客户端设备按照何种方式存储索引值,客户端设备便按照相应的方式提取出索引值。
在一些实施例中,“将加密数据上传至服务器”之后,还可以包括:
(1)向服务器发送图片获取请求;
(2)接收服务器根据图片获取请求返回的加密数据;
(3)对加密数据进行解密处理,得到目标像素矩阵;
(4)将目标像素矩阵转换为第三图片;
(5)显示第三图片,第三图片与第一图片的内容相同。
可以理解的是,当老版本客户端设备需要显示某第一图片时,客户端设备可向服务器发送该第一图片的图片获取请求。随后,客户端设备接收服务器根据该图片获取请求返回第一图片对应的加密数据。接着,客户端设备可对该加密数据进行解密处理,得到目标像素矩阵。然后,客户端设备可将目标像素矩阵转换为第三图片。最后,客户端设备可显示该第三图片。由于目标像素矩阵相对于第一图片的像素矩阵来说,仅存在一些透明度值为0的像素点的颜色值被更改了,而对于这些透明度值为0的像素点,无论其颜色值为多少,其都以全透明的形式显示,因此,客户端设备最终显示的第三图片与第一图片的内容相同。
需要说明的是,在本申请实施例中,加密方式与解密方式对应,用何种加密方式加密,便用相应的解密方式解密。
请参阅图2,图2是本申请实施例提供的图片处理方法的第二种流程示意图,该图片处理方法可应用于新版本客户端设备,该流程可以包括:
在201中,客户端设备获取第一图片的像素矩阵。
在202中,客户端设备获取第一图片对应的索引值,该索引值用于获取第二图片,第一图片为缩小第二图片得到。
流程201至流程202与流程101至流程102相同或相应,在此不再赘述。
在203中,客户端设备从像素矩阵中选取出颜色值和透明度值均为零的目标像素点。
比如,假设第一图片的像素矩阵中存在像素点P10,其中,像素点P10的值为{00000000,00000000,00000000,00000000}。客户端设备可将该像素点P10确定为目标像素点。
在204中,客户端设备获取目标像素点的初始颜色值。
在205中,客户端设备将目标像素点的初始颜色值替换为索引值,得到目标像素矩阵。
比如,假设目标像素点P10的值为{00000000,00000000,00000000,00000000},索引值为01001111。客户端设备可获取目标像素点P10的初始颜色值,如红色值,即00000000。然后,客户端设备可将目标像素点P10的初始颜色值替换为索引值,即将00000000替换为01001111,得到新的像素点P11,从而形成目标像素矩阵。在后续需要提取索引值时,客户端设备可从目标像素矩阵中确定出该像素点P11,并将该像素点P11的值与{00000000,00000000,00000000,00000000}进行异或操作,得到异或操作结果。可以理解,该异或操作结果为01001111(全为0的值可忽略),因此,客户端设备可将该异或操作结果作为索引值。
需要说明的是,由于像素矩阵中还可能存在颜色值不为零,透明度值为零的像素点,为避免这些像素点与存储有索引值的像素点混淆,客户端设备可对存储有索引值的像素点进行标识。后续客户端设备可直接根据标识从目标像素矩阵中选取出存储有索引值的像素点。
在206中,客户端设备对目标像素矩阵进行加密处理,得到加密数据。
在207中,客户端设备将加密数据上传至服务器。
比如,当得到目标像素矩阵之后,客户端设备可将目标像素矩阵转换为Base64字符串,该Base64字符串即为加密数据。随后,电子设备可将该Base64字符串上传至服务器。
在208中,客户端设备向服务器发送图片获取请求。
在209中,服务器根据图片获取请求返回加密数据。
在210中,客户端设备接收加密数据。
在211中,客户端设备对加密数据进行解密处理,得到目标像素矩阵。
在212中,客户端设备从目标像素矩阵中提取出索引值。
在213中,客户端设备获取索引值对应的第二图片。
在214中,客户端设备显示第二图片。
比如,当客户端设备需要显示第二图片时,客户端设备可向服务器发送该第二图片的图片获取请求。随后,服务器可根据该图片获取请求返回第二图片对应的加密数据,即Base64字符串。客户端设备可接收该Base64字符串。接着,客户端设备可将该Base64字符串转换为目标像素矩阵。然后,客户端设备可从目标像素矩阵中提取出索引值。随后,客户端设备可获取该索引值对应的第二图片。最后,客户端设备可显示该第二图片。
可以理解的是,在从目标像素矩阵中提取出索引值时,客户端设备可从目标像素矩阵中选取出像素点P11。然后,客户端设备可对该像素点P11和{00000000,00000000,00000000,00000000}进行异或操作,得到异或操作结果01001111。该01001111即为索引值。
请参阅图3,图3是本申请实施例提供的图片处理方法的第三种流程示意图,该图片处理方法可应用于老版本客户端设备,该流程可以包括:
在301中,客户端设备获取第一图片的像素矩阵。
在302中,客户端设备获取第一图片对应的索引值,该索引值用于获取第二图片,第一图片为缩小第二图片得到。
在303中,客户端设备从像素矩阵中选取出颜色值和透明度值均为零的第一像素点。
流程301至流程303与上述流程201至流程203相同或相应,在此不再赘述。
在304中,客户端设备检测像素矩阵中是否存在透明度值为零,且颜色值不为零的像素点。若像素矩阵中存在透明度值为零,且颜色值不为零的像素点,则执行流程305。
在305中,客户端设备将像素点的颜色值置零,透明度值保持不变,得到第二像素点。
在306中,客户端设备将索引值存储至第一像素点和/或第二像素点中,得到目标像素矩阵。
比如,若像素矩阵中仅存在一透明度值为零,且颜色值不为零的像素点,即像素点P12。其中,像素点P12的值为{00100111,11001000,00000000,00000000},则第二像素点的值可以为{00000000,00000000,00000000,00000000}。随后,客户端设备可将索引值存储至第一像素点和/或第二像素点中,得到目标像素矩阵。
例如,假设索引值为01001000,客户端设备可将第一像素点或第二像素点的R值替换为该索引值,即第一像素点或第二像素点的值被更改为{01001000,00000000,00000000,00000000},得到目标像素矩阵。可以理解,该目标像素矩阵相对于第一图片的像素矩阵来说,仅第一像素点或第二像素点以及透明度值为零,颜色值不为零的像素点的值进行了更改,其他像素点的值保持不变。
在一些情况中,假设客户端设备中存储的第二图片较多,即每个第二图片的索引值用较多位二进制数表示。比如,用96位二进制数表示,而某第一图片的像素矩阵对应的第一像素点和第二像素点的总数量为4,那么,客户端设备可将索引值存储至第一像素点和第二像素点中,得到目标像素矩阵。可以理解,该第一图片的像素矩阵对应的第一像素点和第二像素点的初始颜色值(包括R值、B值和G值)均被替换为索引值。
在307中,客户端设备对目标像素矩阵进行加密处理,得到加密数据。
在308中,客户端设备将加密数据上传至服务器。
比如,当得到目标像素矩阵之后,客户端设备可对目标像素矩阵进行AES加密处理,得到加密数据。随后,电子设备可将该加密数据上传至服务器。
在309中,客户端设备向服务器发送图片获取请求。
在310中,服务器根据图片获取请求返回加密数据。
在311中,客户端接收加密数据。
在312中,客户端设备对加密数据进行解密处理,得到目标像素矩阵。
在313中,客户端设备将目标像素矩阵转换为第三图片。
在314中,客户端设备显示第三图片,第三图片与第一图片的内容相同。
比如,客户端设备可向服务器发送该第一图片的图片获取请求。接着,服务器可根据该图片获取请求返回第一图片对应的加密数据。随后,客户端设备接收该加密数据。接着,客户端设备可对该加密数据进行解密处理,得到目标像素矩阵。然后,客户端设备可将目标像素矩阵转换为第三图片。最后,客户端设备可显示该第三图片。由于目标像素矩阵相对于第一图片的像素矩阵来说,仅存在一些透明度值为0的像素点的颜色值被更改了,而对于这些透明度值为0的像素点,无论其颜色值为多少,其都以全透明的形式显示,因此,客户端设备最终显示的第三图片与第一图片的内容相同,用户从视觉上无法看出二者的区别。即相当于对第一图片进行了显示。
请参阅图4,图4为本申请实施例提供的图片处理装置的结构示意图。该图片处理装置400包括:第一获取模块401,第二获取模块402及存储模块403。
第一获取模块401,用于获取第一图片的像素矩阵。
第二获取模块402,用于获取所述第一图片对应的索引值,所述索引值用于获取第二图片,所述第一图片为缩小所述第二图片得到。
存储模块403,用于将所述索引值存储至所述像素矩阵中,得到目标像素矩阵。
在一些实施例中,存储模块403,可以用于:从所述像素矩阵中选取出颜色值和透明度值均为零的目标像素点;将所述索引值存储至所述目标像素点中,得到目标像素矩阵。
在一些实施例中,存储模块403,可以用于:获取所述目标像素点的初始颜色值;将所述目标像素点的初始颜色值替换为所述索引值,得到目标像素矩阵。
在一些实施例中,存储模块403,可以用于:从所述像素矩阵中选取出颜色值和透明度值均为零的第一像素点;检测所述像素矩阵中是否存在透明度值为零,且颜色值不为零的像素点;若存在,则将所述像素点的颜色值置零,透明度值保持不变,得到第二像素点;将所述索引值存储至所述第一像素点和/或所述第二像素点中,得到目标像素矩阵。
在一些实施例中,存储模块403,可以用于:对所述目标像素矩阵进行加密处理,得到加密数据;将所述加密数据上传至服务器,以使所述服务器接收到所述客户端设备发送的图片获取请求时,将所述加密数据发送至所述客户端设备。
在一些实施例中,存储模块403,可以用于:向服务器发送图片获取请求;接收所述服务器根据所述图片获取请求返回的加密数据;对所述加密数据进行解密处理,得到目标像素矩阵;从所述目标像素矩阵中提取出索引值;获取所述索引值对应的第二图片;显示所述第二图片。
在一些实施例中,存储模块403,可以用于:向服务器发送图片获取请求;接收所述服务器根据所述图片获取请求返回的加密数据;对所述加密数据进行解密处理,得到目标像素矩阵;将所述目标像素矩阵转换为第三图片;显示所述第三图片,所述第三图片与所述第一图片的内容相同。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的图片处理方法中的流程。
本申请实施例还提供一种客户端设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的图片处理方法中的流程。
例如,上述客户端设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图5,图5为本申请实施例提供的客户端设备的结构示意图。
该客户端设备500可以包括存储器501和处理器502等部件。本领域技术人员可以理解,图5中示出的客户端设备结构并不构成对客户端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器501可用于存储应用程序和数据。存储器501存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器502通过运行存储在存储器501的应用程序,从而执行各种功能应用以及数据处理。
处理器502是客户端设备的控制中心,利用各种接口和线路连接整个客户端设备的各个部分,通过运行或执行存储在存储器501内的应用程序,以及调用存储在存储器501内的数据,执行客户端设备的各种功能和处理数据,从而对客户端设备进行整体监控。
在本实施例中,客户端设备中的处理器502会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器501中,并由处理器502来运行存储在存储器501中的应用程序,从而实现流程:
获取第一图片的像素矩阵;
获取所述第一图片对应的索引值,所述索引值用于获取第二图片,所述第一图片为缩小所述第二图片得到;
将所述索引值存储至所述像素矩阵中,得到目标像素矩阵。
请参阅图6,客户端设备500可以包括存储器501、处理器502、输入单元503、输出单元504、显示屏505等部件。
存储器501可用于存储应用程序和数据。存储器501存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器502通过运行存储在存储器501的应用程序,从而执行各种功能应用以及数据处理。
处理器502是客户端设备的控制中心,利用各种接口和线路连接整个客户端设备的各个部分,通过运行或执行存储在存储器501内的应用程序,以及调用存储在存储器501内的数据,执行客户端设备的各种功能和处理数据,从而对客户端设备进行整体监控。
输入单元503可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
输出单元504可用于显示由用户输入的信息或提供给用户的信息以及客户端设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。输出单元可包括显示面板。
显示屏505可以用于显示文字、图片等信息。
在本实施例中,客户端设备中的处理器502会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器501中,并由处理器502来运行存储在存储器501中的应用程序,从而实现流程:
获取第一图片的像素矩阵;
获取所述第一图片对应的索引值,所述索引值用于获取第二图片,所述第一图片为缩小所述第二图片得到;
将所述索引值存储至所述像素矩阵中,得到目标像素矩阵。
在一些实施方式中,处理器502执行将所述索引值存储至所述像素矩阵中,得到目标像素矩阵时,可以执行:从所述像素矩阵中选取出颜色值和透明度值均为零的目标像素点;将所述索引值存储至所述目标像素点中,得到目标像素矩阵。
在一些实施方式中,处理器502执行将所述索引值存储至所述目标像素点中,得到目标像素矩阵时,可以执行:获取所述目标像素点的初始颜色值;将所述目标像素点的初始颜色值替换为所述索引值,得到目标像素矩阵。
在一些实施方式中,处理器502执行将所述索引值存储至所述像素矩阵中,得到目标像素矩阵时,可以执行:从所述像素矩阵中选取出颜色值和透明度值均为零的第一像素点;检测所述像素矩阵中是否存在透明度值为零,且颜色值不为零的像素点;若存在,则将所述像素点的颜色值置零,透明度值保持不变,得到第二像素点;将所述索引值存储至所述第一像素点和/或所述第二像素点中,得到目标像素矩阵。
在一些实施方式中,处理器502执行将所述索引值存储至所述像素矩阵中,得到目标像素矩阵之后,还可以执行:对所述目标像素矩阵进行加密处理,得到加密数据;将所述加密数据上传至服务器,以使所述服务器接收到所述客户端设备发送的图片获取请求时,将所述加密数据发送至所述客户端设备。
在一些实施方式中,处理器502执行将所述加密数据上传至服务器之后,还可以执行:向服务器发送图片获取请求;接收所述服务器根据所述图片获取请求返回的加密数据;对所述加密数据进行解密处理,得到目标像素矩阵;从所述目标像素矩阵中提取出索引值;获取所述索引值对应的第二图片;显示所述第二图片。
在一些实施方式中,处理器502执行将所述加密数据上传至服务器之后,还可以执行:向服务器发送图片获取请求;接收所述服务器根据所述图片获取请求返回的加密数据;对所述加密数据进行解密处理,得到目标像素矩阵;将所述目标像素矩阵转换为第三图片;显示所述第三图片,所述第三图片与所述第一图片的内容相同。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对图片处理方法的详细描述,此处不再赘述。
本申请实施例提供的所述图片处理装置与上文实施例中的图片处理方法属于同一构思,在所述图片处理装置上可以运行所述图片处理方法实施例中提供的任一方法,其具体实现过程详见所述图片处理方法实施例,此处不再赘述。
需要说明的是,对本申请实施例所述图片处理方法而言,本领域普通技术人员可以理解实现本申请实施例所述图片处理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述图片处理方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述图片处理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种图片处理方法、装置、存储介质及客户端设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种图片处理方法,应用于客户端设备,其特征在于,包括:
获取第一图片的像素矩阵;
获取所述第一图片对应的索引值,所述索引值用于获取第二图片,所述第一图片为缩小所述第二图片得到;
将所述索引值存储至所述像素矩阵中,得到目标像素矩阵。
2.根据权利要求1所述的图片处理方法,其特征在于,所述将所述索引值存储至所述像素矩阵中,得到目标像素矩阵,包括:
从所述像素矩阵中选取出颜色值和透明度值均为零的目标像素点;
将所述索引值存储至所述目标像素点中,得到目标像素矩阵。
3.根据权利要求2所述的图片处理方法,其特征在于,所述将所述索引值存储至所述目标像素点中,得到目标像素矩阵,包括:
获取所述目标像素点的初始颜色值;
将所述目标像素点的初始颜色值替换为所述索引值,得到目标像素矩阵。
4.根据权利要求1所述的图片处理方法,其特征在于,所述将所述索引值存储至所述像素矩阵中,得到目标像素矩阵,包括:
从所述像素矩阵中选取出颜色值和透明度值均为零的第一像素点;
检测所述像素矩阵中是否存在透明度值为零,且颜色值不为零的像素点;
若存在,则将所述像素点的颜色值置零,透明度值保持不变,得到第二像素点;
将所述索引值存储至所述第一像素点和/或所述第二像素点中,得到目标像素矩阵。
5.根据权利要求1所述的图片处理方法,其特征在于,所述将所述索引值存储至所述像素矩阵中,得到目标像素矩阵之后,还包括:
对所述目标像素矩阵进行加密处理,得到加密数据;
将所述加密数据上传至服务器,以使所述服务器接收到所述客户端设备发送的图片获取请求时,将所述加密数据发送至所述客户端设备。
6.根据权利要求5所述的图片处理方法,其特征在于,所述将所述加密数据上传至服务器之后,还包括:
向服务器发送图片获取请求;
接收所述服务器根据所述图片获取请求返回的加密数据;
对所述加密数据进行解密处理,得到目标像素矩阵;
从所述目标像素矩阵中提取出索引值;
获取所述索引值对应的第二图片;
显示所述第二图片。
7.根据权利要求5所述的图片处理方法,其特征在于,所述将所述加密数据上传至服务器之后,还包括:
向服务器发送图片获取请求;
接收所述服务器根据所述图片获取请求返回的加密数据;
对所述加密数据进行解密处理,得到目标像素矩阵;
将所述目标像素矩阵转换为第三图片;
显示所述第三图片,所述第三图片与所述第一图片的内容相同。
8.一种图片处理装置,应用于客户端设备,其特征在于,包括:
第一获取模块,用于获取第一图片的像素矩阵;
第二获取模块,用于获取所述第一图片对应的索引值,所述索引值用于获取第二图片,所述第一图片为缩小所述第二图片得到;
存储模块,用于将所述索引值存储至所述像素矩阵中,得到目标像素矩阵。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1至7任一项所述的图片处理方法。
10.一种客户端设备,其特征在于,所述客户端设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行权利要求1至7任一项所述的图片处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010171525.7A CN111402117B (zh) | 2020-03-12 | 2020-03-12 | 图片处理方法、装置、存储介质及客户端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010171525.7A CN111402117B (zh) | 2020-03-12 | 2020-03-12 | 图片处理方法、装置、存储介质及客户端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111402117A CN111402117A (zh) | 2020-07-10 |
CN111402117B true CN111402117B (zh) | 2023-02-28 |
Family
ID=71434186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010171525.7A Active CN111402117B (zh) | 2020-03-12 | 2020-03-12 | 图片处理方法、装置、存储介质及客户端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111402117B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112675545B (zh) * | 2021-01-07 | 2022-12-13 | 腾讯科技(深圳)有限公司 | 地表仿真画面的显示方法和装置、存储介质及电子设备 |
CN115098171B (zh) * | 2022-05-20 | 2024-07-16 | 智绘微电子科技(南京)有限公司 | 一种vbios中优化图片压缩处理的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748780A (en) * | 1994-04-07 | 1998-05-05 | Stolfo; Salvatore J. | Method and apparatus for imaging, image processing and data compression |
JP2002135570A (ja) * | 2000-10-25 | 2002-05-10 | Canon Inc | 画像処理方法および画像形成装置 |
CN101616320A (zh) * | 2008-06-26 | 2009-12-30 | 展讯通信(上海)有限公司 | 图像压缩、解压缩方法及设备 |
CN105139338A (zh) * | 2015-07-24 | 2015-12-09 | 珠海奔图电子有限公司 | 多维查找表的生成方法及装置、图像缩放处理方法及装置 |
CN106095360A (zh) * | 2016-05-31 | 2016-11-09 | 福州瑞芯微电子股份有限公司 | 基于调色板的图像处理方法和图像处理装置 |
CN108259908A (zh) * | 2016-12-28 | 2018-07-06 | 汤姆逊许可公司 | 用于编码和解码像素列表的方法和装置 |
-
2020
- 2020-03-12 CN CN202010171525.7A patent/CN111402117B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748780A (en) * | 1994-04-07 | 1998-05-05 | Stolfo; Salvatore J. | Method and apparatus for imaging, image processing and data compression |
JP2002135570A (ja) * | 2000-10-25 | 2002-05-10 | Canon Inc | 画像処理方法および画像形成装置 |
CN101616320A (zh) * | 2008-06-26 | 2009-12-30 | 展讯通信(上海)有限公司 | 图像压缩、解压缩方法及设备 |
CN105139338A (zh) * | 2015-07-24 | 2015-12-09 | 珠海奔图电子有限公司 | 多维查找表的生成方法及装置、图像缩放处理方法及装置 |
CN106095360A (zh) * | 2016-05-31 | 2016-11-09 | 福州瑞芯微电子股份有限公司 | 基于调色板的图像处理方法和图像处理装置 |
CN108259908A (zh) * | 2016-12-28 | 2018-07-06 | 汤姆逊许可公司 | 用于编码和解码像素列表的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111402117A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9740884B2 (en) | Method and device for generating a code | |
US9152903B2 (en) | Automated generation of QR codes with embedded images | |
US9553923B2 (en) | Methods and apparatus for pixel encoded web page | |
US10970804B2 (en) | Image processing device and image processing method for selecting regions based on gradiation for embedding a watermark | |
CN110414249B (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN111402117B (zh) | 图片处理方法、装置、存储介质及客户端设备 | |
US9226043B2 (en) | Displaying content associated with code embedded in an image | |
CA2716528C (en) | Rapid localized language development for video matrix switching system | |
CN112416346A (zh) | 界面配色方案的生成方法、装置、设备及存储介质 | |
KR101437843B1 (ko) | 전자문서 레이아웃 유지를 위한 폰트처리 방법, 그리고 이를 위한 폰트처리 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
US20110206232A1 (en) | Method and apparatus for engaging functionality with a color tag | |
US20210243404A1 (en) | Information processing apparatus and method | |
JP7089147B2 (ja) | データを処理する方法 | |
EP3410684A1 (en) | Image processing device, image processing method, and program | |
US9444802B2 (en) | Device authentication using display device irregularity | |
CN115576513A (zh) | 目标图像的显示方法、显示装置、电子设备和存储介质 | |
CN110730277A (zh) | 一种信息编码及获取编码信息的方法和装置 | |
CN110609669A (zh) | 界面处理方法、装置、存储介质及电子设备 | |
KR20020004918A (ko) | 온라인 출판물의 이미지 제공 방법 | |
CN114827714B (zh) | 基于视频指纹的视频还原方法、终端设备及存储介质 | |
JP2016528607A (ja) | 印刷物から情報を提供するための方法及びシステム | |
WO2023015422A1 (zh) | 一种图像的处理方法及其装置 | |
CN116187997A (zh) | 图形码显示方法、装置、计算机设备、存储介质 | |
CN113794943A (zh) | 视频封面设置方法、装置、电子设备及存储介质 | |
JP4905194B2 (ja) | 画像処理システム及び電子透かし埋め込み方法 |
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 |