一种图片处理方法、装置及终端设备的制造方法
【技术领域】
[0001] 本发明涉及图像技术领域,尤其涉及一种图片处理方法、装置及终端设备。
【背景技术】
[0002] 现有计算哈希码(HASHCODE)主要有如下几种技术方案:
[0003] 方案一:对图片进行灰度处理,然后计算灰度的平均值,得到HASHCODE。
[0004] 方案二:基于DCT(离散余弦变换)的视觉HASH。类似傅立叶变换,用一组不同频 率和振幅的正弦信号描述信号。但DCT不同在于只使用余弦来转换。还有DFT离散傅立叶 变换既使用正弦也使用余弦来变换。DCT变换有多种变体,最多的采用是type-II。
[0005] 方案三=Marr-Hildreth算法,基于边缘检测提取特征,使用梯度和拉普拉斯变换 来提取连续特征。典型的结果是取到一个边缘地图。
[0006] 方案四:基于福射变换(radontransform)的视觉HASH。福射变换是一种积分变 换,基于直线的积分计算。有一定的抗压缩和旋转性。
[0007] 现有的图片认证方案主要基于各种水印算法。数字水印算法主要有两大类,第一 类是基于空间域算法,第二类是基于频谱域算法。第一类算法包括最低有效位算法(LSB), 该算法通过调整原始数据最低几位来隐藏信息,一般而言,改变最低几位不会明显改变视 觉效果。第二类是一种变换域算法,包括基于DCT、小波变换(WT)、傅立叶变换(FT/FFT)等。 这些方法均会改变原始图片的信息,从而影响用户体验。
【发明内容】
[0008] 有鉴于此,本发明实施例的目的是提供一种图片处理方法、装置及终端设备,以便 在不改变原始图片信息的情况下支持图片的认证。
[0009] 为解决上述技术问题,本发明实施例提供方案如下:
[0010] 本发明实施例提供一种图片处理方法,用于一接收方,包括:
[0011] 对应于一发送方在待将一原始图片和所述原始图片的加密后哈希码对应发送到 所述接收方时执行的传输过程,接收一目标图片和一目标哈希码,其中,所述加密后哈希码 由所述发送方对所述原始图片的第一哈希码进行加密得到;
[0012] 对所述目标哈希码进行解密得到解密后哈希码;
[0013] 计算所述目标图片的第二哈希码;
[0014] 计算所述解密后哈希码和所述第二哈希码的汉明距离值;
[0015] 判断所述汉明距离值是否小于一门限值,获取一第一判断结果;
[0016] 当所述第一判断结果为是时,确定所述目标图片认证成功。
[0017] 优选地,所述计算所述目标图片的第二哈希码包括:
[0018] 按照设定规格尺寸,对所述目标图片的规格尺寸进行处理,得到符合所述设定规 格尺寸的第一处理后图片;
[0019] 根据所述第一处理后图片中所有像素各自的RBG分量值,计算所述第一处理后图 片中所有像素各自的灰度值;
[0020] 对所述第一处理后图片中所有像素各自的灰度值求均值,得到所述第一处理后图 片的灰度均值;
[0021] 将所述第一处理后图片分割为多个像素块,与所述第二哈希码中的多个码位一一 对应;
[0022] 对于所述多个像素块中每个像素块,对所述每个像素块中所有像素各自的灰度值 求均值,得到所述每个像素块的灰度均值;
[0023] 根据所述第一处理后图片的灰度均值和所述多个像素块各自的灰度均值,计算所 述多个像素块各自对应的哈希值;
[0024] 将所述多个像素块各自对应的哈希值分别赋值到所述多个像素块各自的对应码 位,得到所述第二哈希码。
[0025] 优选地,所述根据所述第一处理后图片的灰度均值和所述多个像素块各自的灰度 均值,计算所述多个像素块各自对应的哈希值的步骤中,所述多个像素块中任一像素块对 应的哈希值均通过如下方式得到:
[0026] 判断所述任一像素块的灰度均值是否大于所述第一处理后图片的灰度均值,获取 一第二判断结果;
[0027] 当所述第二判断结果为是时,将所述任一像素块对应的哈希值确定为一;
[0028] 当所述第二判断结果为否时,将所述任一像素块对应的哈希值确定为零。
[0029] 优选地,所述对所述目标哈希码进行解密得到解密后哈希码包括:
[0030] 将所述目标哈希码中的各位值进行第二设定位数的循环右移,再将相距第一设定 位数的位值互换,得到所述解密后哈希码。
[0031] 优选地,还包括:
[0032] 当所述第一判断结果为否时,生成对所述接收方用户的提示信息和/或向所述发 送方发送指示信息。
[0033] 本发明实施例还提供一种图片处理方法,用于一发送方,包括:
[0034] 计算步骤,计算待发送到一接收方的原始图片的第一哈希码;
[0035] 加密步骤,对所述第一哈希码进行加密得到加密后哈希码;
[0036] 传输步骤,对应传输所述原始图片和所述加密后哈希码到所述接收方,使得所述 接收方能够在对应于所述传输步骤接收到目标图片和目标哈希码时,对所述目标哈希码进 行解密得到解密后哈希码,计算所述目标图片的第二哈希码,计算所述解密后哈希码和所 述第二哈希码的汉明距离值,并判断所述汉明距离值是否小于一门限值,获取一第一判断 结果,当所述第一判断结果为是时,确定所述目标图片认证成功。
[0037] 优选地,所述计算步骤包括:
[0038] 按照设定规格尺寸,对所述原始图片的规格尺寸进行处理,得到符合所述设定规 格尺寸的第二处理后图片;
[0039] 根据所述第二处理后图片中所有像素各自的RBG分量值,计算所述第二处理后图 片中所有像素各自的灰度值;
[0040] 对所述第二处理后图片中所有像素各自的灰度值求均值,得到所述第二处理后图 片的灰度均值;
[0041] 将所述第二处理后图片分割为多个像素块,与所述第一哈希码中的多个码位一一 对应;
[0042] 对于所述多个像素块中每个像素块,对所述每个像素块中所有像素各自的灰度值 求均值,得到所述每个像素块的灰度均值;
[0043] 根据所述第二处理后图片的灰度均值和所述多个像素块各自的灰度均值,计算所 述多个像素块各自对应的哈希值;
[0044] 将所述多个像素块各自对应的哈希值分别赋值到所述多个像素块各自的对应码 位,得到所述第一哈希码。
[0045] 优选地,所述根据所述第二处理后图片的灰度均值和所述多个像素块各自的灰度 均值,计算所述多个像素块各自对应的哈希值的步骤中,所述多个像素块中任一像素块对 应的哈希值均通过如下方式得到:
[0046] 判断所述任一像素块的灰度均值是否大于所述第二处理后图片的灰度均值,获取 一第三判断结果;
[0047] 当所述第三判断结果为是时,将所述任一像素块对应的哈希值确定为一;
[0048] 当所述第三判断结果为否时,将所述任一像素块对应的哈希值确定为零。
[0049] 优选地,所述加密步骤包括:
[0050] 将所述第一哈希码中相距第一设定位数的位值互换,再将各位值进行第二设定位 数的循环左移,得到所述加密后哈希码。
[0051] 本发明实施例还提供一种图片处理装置,用于一接收方,包括:
[0052] 接收模块,用于对应于一发送方在待将一原始图片和所述原始图片的加密后哈希 码对应发送到所述接收方时执行的传输过程,接收一目标图片和一目标哈希码,其中,所述 加密后哈希码由所述发送方对所述原始图片的第一哈希码进行加密得到;
[0053] 解密模块,用于对所述目标哈希码进行解密得到解密后哈希码;
[0054] 第一计算模块,用于计算所述目标图片的第二哈希码;
[0055] 第二计算模块,用于计算所述解密后哈希码和所述第二哈希码的汉明距离值;
[0056] 判断模块,用于判断所述汉明距离值是否小于一门限值,获取一第一判断结果;
[0057] 确定模块,用于当所述第一判断结果为是时,确定所述目标图片认证成功。
[0058] 优选地,所述第一计算模块包括:
[0059] 第一处理单元,用于按照设定规格尺寸,对所述目标图片的规格尺寸进行处理,得 到符合所述设定规格尺寸的第一处理后图片;
[0060] 第一计算单元,用于根据所述第一处理后图片中所有像素各自的RBG分量值,计 算所述第一处理后图片中所有像素各自的灰度值;
[0061] 第一求均值单元,用于对所述第一处理后图片中所有像素各自的灰度值求均值, 得到所述第一处理后图片的灰度均值;
[0062] 第一分割单元,用于将所述第一处理后图片分割为多个像素块,与所述第二哈希 码中的多个码位--对应;
[0063] 第二求均值单元,用于对于所述多个像素块中每个像素块,对所述每个像素块中 所有像素各自的灰度值求均值,得到所述每个像素块的灰度均值;
[0064] 第二计算单元,用于根据所述第一处理后图片的灰度均值和所述多个像素块各自 的灰度均值,计算所述多个像素块各自对应的哈希值;
[0065] 第一赋值单元,用于将所述多个像素块各自对应的哈希值分别赋值到所述多个像 素块各自的对应码位,得到所述第二哈希码。
[0066] 优选地,所述解密模块包括:
[0067] 解密单元,用于将所述目标哈希码中的各位值进行第二设定位数的循环右移,再 将相距第一设定位数的位值互换,得到所述解密后哈希码