CN113298687A - 一种水印图像添加方法和装置 - Google Patents
一种水印图像添加方法和装置 Download PDFInfo
- Publication number
- CN113298687A CN113298687A CN202110577758.1A CN202110577758A CN113298687A CN 113298687 A CN113298687 A CN 113298687A CN 202110577758 A CN202110577758 A CN 202110577758A CN 113298687 A CN113298687 A CN 113298687A
- Authority
- CN
- China
- Prior art keywords
- image
- watermark
- watermark image
- pixel
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004364 calculation method Methods 0.000 claims description 36
- 239000013598 vector Substances 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 3
- 230000009467 reduction Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本申请公开了水印图像添加方法和装置,涉及计算机技术领域,该方法包括接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像;识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域;确定前景颜色水印图像;旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像;确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定水印图像的添加方向,进而生成水印图像。从而,该实施方式可以实现减少添加的水印对原始图像质量的影响。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种水印图像添加方法和装置。
背景技术
目前,对于在照片上添加水印,通常的做法有自动在照片的固定位置上展示水印、自动在照片上均匀的添加多个水印、手动在照片上添加水印图层与原图合成以及自动在照片上生成不易被查看的水印。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
现有的水印图像添加方法对原图质量影响大。
发明内容
有鉴于此,本申请实施例提供一种水印图像添加方法和装置,能够解决现有的水印图像添加方法对原图质量影响大的问题。
为实现上述目的,根据本申请实施例的一个方面,提供了一种水印图像添加方法,包括:
接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像;
识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域;
确定前景颜色水印图像;
旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像;
确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像。
可选地,识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域,包括:
识别原始图像的边缘,生成原始边缘图像,进而根据水印图像分割原始边缘图像,以确定原始图像中的目标水印图像添加区域。
可选地,根据水印图像分割原始边缘图像,包括:
确定水印图像对应的矩形最长对角线长度;
以矩形最长对角线长度为正方形边长,构造正方形区域;
利用正方形区域分割原始边缘图像。
可选地,确定目标水印图像添加区域,包括:
计算对原始边缘图像分割后的各正方形区域中的像素数值总和;
对各像素数值总和进行排序,以根据排序结果确定目标水印图像添加区域。
可选地,生成目标水印图像添加区域内的对应各个旋转方向的混合图像,包括:
以目标水印图像添加区域为中心,旋转前景颜色水印图像,进而将前景颜色水印图像的每一旋转方向对应的前景颜色与目标水印图像添加区域内的原始图像的像素颜色线性混合,生成各混合图像。
可选地,确定各混合图像与目标水印图像添加区域内的原始图像的相似度,包括:
根据各像素对应的预设的颜色通道与向量维度的对应关系、各旋转方向对应的混合图像的像素以及目标水印图像添加区域内的原始图像的像素,以基于预设的相似度公式,确定各混合图像与目标水印图像添加区域内的原始图像的相似度。
可选地,生成水印图像,包括:
添加前景颜色水印图像至最大相似度对应的旋转方向,以生成显式水印图像。
可选地,在生成水印图像之后,水印图像添加方法还包括:
确定水印图像的最长边像素;
基于每个像素的颜色通道,确定最长边像素的同一颜色通道相邻像素的均差值,进而基于最长边像素中各像素的排列位置确定均差值线性表;
确定原始图像对应的字节数;
根据字节数,按照预设的索引顺序移动均差值线性表中均差值的索引位置,进而确定隐式水印的添加位置。
可选地,在确定隐式水印的添加位置之后,方法还包括:
获取隐式水印文本、预设编码以及公钥密文字符,进而基于异或算法,生成加密隐式水印字节数组;
根据隐式水印的添加位置、均差值线性表和加密隐式水印字节数组,确定均差值字节数组;
将均差值字节数组与加密隐式水印字节数组进行异或计算,生成目标均差值字节数组;
基于目标均差值字节数组还原隐式水印图像;
添加隐式水印图像至隐式水印的添加位置。
可选地,基于目标均差值字节数组还原隐式水印图像,包括:
基于每个像素的颜色通道,确定最长边像素的同一颜色通道相邻像素的均和值;
基于目标均差值字节数组和各均和值,确定隐式水印图像中的像素值,进而还原隐式水印图像。
可选地,确定前景颜色水印图像,包括:
确定目标水印图像添加区域内的原始图像的像素颜色,以基于像素颜色确定水印图像的前景颜色,生成前景颜色水印图像。
另外,本申请还提供了一种水印图像添加装置,包括:
接收单元,被配置成接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像;
识别单元,被配置成识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域;
前景颜色水印图像生成单元,被配置成确定前景颜色水印图像;
混合图像生成单元,被配置成旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像;
水印图像生成单元,被配置成确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像。
可选地,识别单元进一步被配置成:
识别原始图像的边缘,生成原始边缘图像,进而根据水印图像分割原始边缘图像,以确定原始图像中的目标水印图像添加区域。
可选地,识别单元进一步被配置成:
确定水印图像对应的矩形最长对角线长度;
以矩形最长对角线长度为正方形边长,构造正方形区域;
利用正方形区域分割原始边缘图像。
可选地,识别单元进一步被配置成:
计算对原始边缘图像分割后的各正方形区域中的像素数值总和;
对各像素数值总和进行排序,以根据排序结果确定目标水印图像添加区域。
可选地,混合图像生成单元进一步被配置成:
以目标水印图像添加区域为中心,旋转前景颜色水印图像,进而将前景颜色水印图像的每一旋转方向对应的前景颜色与目标水印图像添加区域内的原始图像的像素颜色线性混合,生成各混合图像。
可选地,水印图像生成单元进一步被配置成:
根据各像素对应的预设的颜色通道与向量维度的对应关系、各旋转方向对应的混合图像的像素以及目标水印图像添加区域内的原始图像的像素,以基于预设的相似度公式,确定各混合图像与目标水印图像添加区域内的原始图像的相似度。
可选地,水印图像生成单元进一步被配置成:
添加前景颜色水印图像至最大相似度对应的旋转方向,以生成显式水印图像。
可选地,水印图像添加装置还包括添加位置确定单元,被配置成:
确定水印图像的最长边像素;
基于每个像素的颜色通道,确定最长边像素的同一颜色通道相邻像素的均差值,进而基于最长边像素中各像素的排列位置确定均差值线性表;
确定原始图像对应的字节数;
根据字节数,按照预设的索引顺序移动均差值线性表中均差值的索引位置,进而确定隐式水印的添加位置。
可选地,水印图像添加装置还包括隐式水印添加单元,被配置成:
获取隐式水印文本、预设编码以及公钥密文字符,进而基于异或算法,生成加密隐式水印字节数组;
根据隐式水印的添加位置、均差值线性表和加密隐式水印字节数组,确定均差值字节数组;
将均差值字节数组与加密隐式水印字节数组进行异或计算,生成目标均差值字节数组;
基于目标均差值字节数组还原隐式水印图像;
添加隐式水印图像至隐式水印的添加位置。
可选地,隐式水印添加单元进一步被配置成:
基于每个像素的颜色通道,确定最长边像素的同一颜色通道相邻像素的均和值;
基于目标均差值字节数组和各均和值,确定隐式水印图像中的像素值,进而还原隐式水印图像。
可选地,前景颜色水印图像生成单元进一步被配置成:
确定目标水印图像添加区域内的原始图像的像素颜色,以基于像素颜色确定水印图像的前景颜色,生成前景颜色水印图像。
另外,本申请还提供了一种水印图像添加电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述的水印图像添加方法。
另外,本申请还提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述的水印图像添加方法。
上述发明中的一个实施例具有如下优点或有益效果:本申请通过接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像;识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域;确定前景颜色水印图像,进而可以通过旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像;确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像,可以减少添加的水印图像(即可以是彩色水印图像)与原始图像的色差,从而减小对原始图像的影响。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本申请,不构成对本申请的不当限定。其中:
图1是根据本申请第一实施例的水印图像添加方法的主要流程的示意图;
图2是根据本申请第二实施例的水印图像添加方法的主要流程的示意图;
图3是根据本申请第三实施例的水印图像添加方法的应用场景示意图;
图4是根据本申请实施例的水印图像添加装置的主要模块的示意图;
图5是本申请实施例可以应用于其中的示例性***架构图;
图6是适于用来实现本申请实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请第一实施例的水印图像添加方法的主要流程的示意图,如图1所示,水印图像添加方法包括:
步骤S101,接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像。
本实施例中,水印图像添加方法的执行主体(例如,可以是服务器)可以通过有线连接或无线连接的方式,接收用户通过终端设备发送的水印添加请求。具体地,水印添加请求中可以包括水印添加的位置标识,该位置标识可以包括一个或多个位置坐标。水印添加请求中还可以包括水印添加形式,例如显式添加或者是隐式添加。水印添加请求中还可以包括用于指示水印图像以及要添加水印图像的原始图像的图像标识。执行主体可以从水印添加请求中获取图像标识,进而进去获取的图像标识从本地或云端数据库中获取该图像标识对应的原始图像和水印图像。示例的,图像标识可以是01-22,其中,“01”可以对应的是原始图像,“22”可以对应的是水印图像,在本地或者云端数据库中存储有各图像标识与原始图像和水印图像的对应关系。或者,执行主体可以直接从终端设备获取用户输入的原始图像和水印图像。本申请对原始图像和水印图像的获取来源和获取方式不做具体限定。
步骤S102,识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域。
本实施例中,执行主体在获取原始图像和水印图像后,可以识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域。
具体地,识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域,包括:识别原始图像的边缘,生成原始边缘图像,进而根据水印图像分割原始边缘图像,以确定原始图像中的目标水印图像添加区域。具体地,识别原始图像的边缘,可以包括:执行主体将原始图像转化为灰度图,进行索贝尔算子计算。具体可以将该灰度图转化为二维数组,二维数组的维度为该灰度图的长和宽。索贝尔算子为两个固定的三维数组,第一个为X轴水平方向,第二个为Y轴垂直方向。示例的,第一个为X轴水平方向的三维数组的第一行为-3,0,3;第二行为-10,0,10;第三行为-3,0,3。第二个为Y轴垂直方向的三维数组的第一行为3,10,3;第二行为0,0,0;第三行为-3,-10,-3。该灰度图像X轴水平方向的二维数组的第一行为X1,X2,X3;第二行为X4,X5,X6;第三行为X7,X8,X9。该灰度图像Y轴垂直方向的二维数组的第一行为Y1,Y2,Y3;第二行为Y4,Y5,Y6;第三行为Y7,Y8,Y9。每个索贝尔算子与二维数组中的每个元素进行计算,计算方法如下:将索贝尔算子中心数与二维数组中待计算元素对齐,计算该元素的八领域内的元素与索贝子算子中心数的八领域内的元素依次分别相乘,并求和。即假设x为索贝尔算子,y为二维数组中的一个连续的3*3的区域,X5与Y5的索贝尔算子的运算过程为:x1*y1+x2*y2+x3*y3+x4*y4+x5*y5+x6*y6+x7*y7+x8*y8+x9*y9。如果y5为二维数组中的边缘数据,即第一行或最后一行,第一列或最后一列,则对应的缺失数据用0填充。计算水平方向与垂直方向的两个索贝尔算子的计算结果:
例如可以是:
水平方向(x轴):
-3*y1+0*y2+3*y3+(-10)*y4+0*y5+10*y6+(-3)*y7+0*y8+3*y9=-3y1+3y3-10y4+10y6-3y7+3y9;
垂直方向(y轴):
x1*3+x2*10+x3*3+x4*0+x5*0+x6*0+x7*(-3)+x8*(-10)+x9*(-3)=3x1+10x2+3x3-3x7-10x8-3x9。
执行主体在计算完水平方向与垂直方向的两个索贝尔算子的计算结果后,再计算同一位置的二维数组中的元素的两个索贝尔算子运算结果的绝对值的和,即再将灰度图像转化为的二维数组中的各对应数值代入计算得到abs(x轴数值)+abs(y轴数值),为最终的索贝尔算子运算的结果。进而根据最终的索贝尔算子运算的结果确定原始图像的水平边缘和垂直边缘,从而确定出原始图像的边缘,并根据确定出的原始图像的边缘生成原始边缘图像。
具体地,根据水印图像分割原始边缘图像,包括:确定水印图像对应的矩形最长对角线长度;以矩形最长对角线长度为正方形边长,构造正方形区域,具体地,可以是以该矩形最长对角线长度对应的像素数划数索贝尔算子运算后得到的原始边缘图像。具体地,执行主体可以在水印图像上构造外接圆,使得该外接圆内切的矩形为水印图像,该外接圆外切的正方形为原始边缘图像中的正方形区域,即要添加水印图像的正方形区域,以便于后续以该外接圆的圆心为中心旋转水印图像时,不会时水印图像发生越界被裁减。每个划分后的区域为正方形区域,正方形区域距离原始边缘图像的上下边距相等,每个边距不大于正方形区域的边距,左右边缘也同理。利用正方形区域分割原始边缘图像。
示例的,水印图像添加区域可以为4行*3列的正方形连续相连区域。原始边缘图像中可以存放的要添加水印图像的正方形区域的最大数量可以是12个,保证该正方形区域距离原始边缘图像的上下边距等距像素,距离原始边缘图像的左右边距等距像素。
具体地,确定目标水印图像添加区域,包括:计算对原始边缘图像分割后的各正方形区域中的像素数值总和,该数值用于表示该像素数值相对于周围像素的变化值。执行主体对各像素数值总和进行排序,以确定出各正方形区域中的像素数值总和最大的前N个正方形区域,该前N个正方形区域为所有正方形区域中图像变化最大的前N个区域。执行主体可以根据排序结果确定目标水印图像添加区域,即像素数值总和最大的前N个正方形区域。
步骤S103,确定前景颜色水印图像。
本实施例中,执行主体可以通过确定目标水印图像添加区域内的原始图像的像素颜色,以基于像素颜色确定水印图像的前景颜色,生成前景颜色水印图像。
具体地,执行主体可以在高频区域的正方形中,将水印图像的颜色转化为前景单色,背景透明,以便于与原始图像融合。执行主体可以确定目标水印图像添加区域内的原始图像的像素颜色,即红、绿、蓝通道的像素值,水印图像的前景颜色设置为该像素颜色的平均值,即目标水印图像添加区域内的原始图像区域所有像素的红、绿、蓝三个通道像素值的平均值(三原色为三个颜色通道),即水印图像可以为一个彩色图像也可以为非彩色图像,水印图像的具体颜色可以根据红、绿、蓝三个通道像素值的平均值而确定。进而执行主体可以基于确定出的前景颜色,生成前景颜色水印图像。前景颜色,可以是当前构图,例如线条、填充等的颜色,具体可以是画笔画出的颜色。
步骤S104,旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像。
执行主体在得到前景颜色水印图像后,可以在目标水印图像添加区域内的原始图像区域叠加并旋转该前景颜色水印图像。并将各个旋转方向的前景颜色水印图像与目标水印图像添加区域内的原始图像区域的像素值按照预设的计算公式进行计算,根据计算结果确定混合像素值,并基于各个旋转方向的混合像素值生成目标水印图像添加区域内的对应各个旋转方向的混合图像。具体地,旋转方向可以指的是前景颜色水印图像在目标水印图像添加区域内旋转的具体朝向。例如,前景颜色水印图像在目标水印图像添加区域内旋转方向可以是顺时针旋转15°的朝向、顺时针旋转30度的朝向、逆时针旋转15°的朝向等。
步骤S105,确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像。
执行主体可以通过相似度计算确定各混合图像与目标水印图像添加区域内的原始图像的相似度,并可以选取预设数值范围内的一个或多个相似度对应的一个或多个旋转方向作为前景颜色水印图像的添加方向,执行主体可以在该一个或多个旋转方向中任选一个,进而生成显式水印图像。显式水印图像可以是肉眼可以看到的水印图像。
本实施例通过接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像;识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域,利用图像的边缘检测,在此利用索贝子算子实现边缘检测,确认图像的显式水印的添加区域,该方案具有较好的准确性与计算效率;确定前景颜色水印图像,可以得到彩色的水印图像,进而可以通过旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像;确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像,可以减少添加的水印图像(即可以是彩色水印图像)与原始图像的色差,从而减小添加的水印图像对原始图像质量的影响。
图2是根据本申请第二实施例的水印图像添加方法的主要流程示意图,如图2所示,水印图像添加方法包括:
步骤S201,接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像。
步骤S202,识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域。
步骤S203,确定前景颜色水印图像。
步骤S204,旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像。
步骤S201~步骤S204的原理与步骤S101~S104的原理类似,此处不再赘述。
具体地,步骤S204还可以通过步骤S2041来实现:
步骤S2041,以目标水印图像添加区域为中心,旋转前景颜色水印图像,进而将前景颜色水印图像的每一旋转方向对应的前景颜色与目标水印图像添加区域内的原始图像的像素颜色线性混合,生成各混合图像。
执行主体可以以目标水印图像添加区域的正方形中心为原点,不断顺时针或逆时针旋转前景颜色水印图像(具体地,可以是按照预设步长顺时针或逆时针旋转一周),将各个旋转方向对应的前景颜色水印图像中的像素(透明部分的像素取原像素)与目标水印图像添加区域内的原始图像的像素做线性混合(混合像素=(1-阈值%)*前景颜色水印图像像素+阈值%*原始图像像素),进而根据线性混合后的像素(即混合像素)生成各混合图像。
本实施例通过将前景颜色水印图像的每一旋转方向对应的前景颜色与目标水印图像添加区域内的原始图像的像素颜色线性混合,可以使得前景颜色水印图像添加后减少色差,减少添加的水印图像对原始图像质量的影响。
步骤S205,确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像。
执行主体可以将线性混合后得到的混合图像与目标水印图像添加区域内的原始图像做余弦相似度计算,以找到相似度最大的旋转方向,并添加前景颜色图像至该相似度最大的旋转方向,进而生成水印图像,具体可以是生成显式水印图像。
步骤S205的原理与步骤S105的原理类似,此处不再赘述。
具体地,步骤S205还可以通过~步骤S2052来实现:
步骤S2051,根据各像素对应的预设的颜色通道与向量维度的对应关系、各旋转方向对应的混合图像的像素以及目标水印图像添加区域内的原始图像的像素,以基于预设的相似度公式,确定各混合图像与目标水印图像添加区域内的原始图像的相似度。
目标水印图像添加区域内的原始图像指的是原始图像中目标水印图像添加区域内的图像。
具体地,以目标水印图像添加区域内的原始图像以及前景颜色图像均为3*3像素图像为例。执行主体可以将该两个3*3像素图像分别转化为高维向量,以一个转化为例进行说明:
像素1红色,像素1绿色,像素1蓝色,像素2红色,像素2绿色,像素2蓝色,像素3红色像素3绿色,像素3蓝色,像素4红色,像素4绿色,像素4蓝色,像素5红色,像素5绿色像素5蓝色,像素6红色,像素6绿色,像素6蓝色,像素7红色,像素7绿色,像素7蓝色像素8红色,像素8绿色,像素8蓝色,像素9红色,像素9绿色,像素9蓝色
每个维度的大小为颜色分量中的红、绿、蓝的数值大小,像素1红色的下标为0,像素1绿色的下标为1,像素1蓝色的下标为2,像素2红色的下标为3,像素2绿色的下标为4,像素2蓝色的下标为5,以此类推,即每个下标为一个向量维度数据。
然后,执行主体可以根据多维向量的余弦相似度公式(1):
计算各混合图像与目标水印图像添加区域内的原始图像的相似度,x与y对应混合图像与目标水印图像添加区域内的原始图像这两个图像中的相同位置像素的不同维度数据。其中,x1代表混合图像中的像素1的向量维度数据,以此类推,xn代表像素n的向量维度数据;y1代表目标水印图像添加区域内的原始图像中的像素1的向量维度数据,以此类推,yn代表像素n的向量维度数据。或者x1代表目标水印图像添加区域内的原始图像中的像素1的向量维度数据,xn代表像素n的向量维度数据;y1代表混合图像中的像素1的向量维度数据,yn代表像素n的向量维度数据。本申请对此不作具体限定。
步骤S2052,添加前景颜色水印图像至最大相似度对应的旋转方向,以生成显式水印图像。
执行主体在计算出各旋转方向对应的各混合图像与目标水印图像添加区域内的原始图像的相似度后,可以确定出最大相似度,并将最大相似度对应的旋转方向确定为添加前景颜色水印图像的方向,并将前景颜色水印图像添加至该方向以生成显式水印图像。
本实施例通过计算各混合图像与目标水印图像添加区域内的原始图像的相似度,并将最大相似度对应的旋转方向确定为前景颜色水印图像对应的添加方向,可以使得将前景颜色水印图像按照该添加方向添加至目标水印图像添加区域后,对原始图像质量的影响最小。
在本实施例的一些可选的实现方式中,在生成显式水印图像之后,执行主体可以继续计算隐式水印图像(即不可见水印图像)的添加位置。具体地,水印图像添加方法还包括:
确定生成的水印图像的最长边像素(即显式(肉眼可见的)水印图像的最长边像素),如果最长边像素不是偶数,则执行主体可以在最后一列像素添加零像素点位。
基于每个像素的颜色通道,确定最长边像素的同一颜色通道相邻像素的均差值,进而基于最长边像素中各像素的排列位置确定均差值线性表。具体地,执行主体可以基于该最长边像素从上向下,每行像素依次取相同颜色通道的、相邻的两个像素的像素值的和的均差(即均和值)与差的均差(即均差值),不同颜色通道上的像素值分别计算。保留两组均值用于后续图像的还原。
示例的:图像为3*2的像素图像,最长边为3个像素,为奇数,最后一个像素添加0像素值,使之为偶数,例如,第一行:像素1(红绿蓝),像素2(红绿蓝),像素3(红绿蓝),0;第二行:像素4(红绿蓝),像素5(红绿蓝),像素6(红绿蓝),0。
像素中红色通道的均和为(像素1红色+像素2红色)/2=A,(像素3红色+0)/2=B,每个像素只用于计算一次,将像素1、像素2、像素3、0的红、绿、蓝颜色通道的均和值计算完后放均和值线性表的第一行,即将A、B依次放置于均和值线性表的第一行,(像素4红色+像素5红色)/2=C,(像素6红色+0)/2=D,将像素4、像素5、像素6、0的红、绿、蓝颜色通道的均差值计算完后放均和值线性表的第二行,即将C、D依次存放到均和值线性表中的第二行,按照红、绿、蓝颜色通道的计算顺序,依次计算其它颜色通道的均和值,计算方式类似,并依次放置均和值的计算结果至均和值线性表中。
像素中红色通道的均差为(像素1红色-像素2红色)/2=E,(像素3红色-0)/2=F,每个像素只用于计算一次,将像素1、像素2、像素3、0的红、绿、蓝颜色通道的均差值计算完后放均差值线性表的第一行,即将E、F依次放置于均差值线性表的第一行,(像素4红色—像素5红色)/2=G,(像素6红色-0)/2=H,将像素4、像素5、像素6、0的红、绿、蓝颜色通道的均差值计算完后放均差值线性表的第二行,即将G、H依次存放到均差值线性表中的第二行,按照红、绿、蓝颜色通道的计算顺序,依次计算其它颜色通道的均差值,计算方式类似,并依次放置均差值的计算结果至均差值线性表中,以得到均差值线性表。
然后执行主体可以确定原始图像对应的字节数;根据字节数,按照预设的索引顺序移动均差值线性表中均差值的索引位置,进而确定隐式水印的添加位置。具体地,执行主体可以将均差值线性表中的各均差值分别转换为十六进制数,每一个十六进制数对应一个索引位置。然后执行主体可以以均差值线性表的开始位置为起点,计算隐式水印的添加位置。具体地,执行主体可以根据原始图像对应的字节数,每增加一个字节的计数,将均差值线性表中的索引位置依次后移一个,当移动到最后的索引位置后再次移动时,恢复到均差值线性表的开始位置,直到字节的计数的值等于原始图像对应的字节数为止,则终止的该索引位置对应的均差值所对应的像素位置即为隐式水印的添加位置。
本实施例通过根据原始图像对应的字节数,结合均差值线性表来确定隐式水印的添加位置,可以使得隐式水印的添加位置更隐秘不易被发现,从而增加隐式水印的破坏难度。
在本实施例的一些可选的实现方式中,在确定隐式水印的添加位置之后,执行主体还可以对要添加的隐式水印文本进行加密,具体地,水印图像添加方法还包括:
获取隐式水印文本、预设编码以及公钥密文字符,进而基于异或算法,生成加密隐式水印字节数组,预设编码可以是商品编码,示例的,执行主体可以确定隐式水印文本字符,并可以将隐式水印文本字符、商品编码、公钥密文字符转化为十六进制ASCII码的字节数组。例如水印文本为XJ,商品编码为1234,公钥密文字符为『小京』两个汉字。XJ字符转化为4a 44两个十六进制数的字节,商品编码1234转化为31 32 33 34的四个十六进制数的字节,小京两个汉字转化为4e ac 4e 1c四个十六进制数的字节。由于异或运算满足结合律,水印字符与公钥密文字符相对不变,首先水印字符与公钥密文字符对应的字节进行异或运算。即4a与44进行异或,异或结果与31进行异或,直到与最后一个1c字符异或完为止,得到异或运算结果。将商品编码对应的31 32 33 34依次与上述异或运算结果后的一个十六进制字节进行异或运算,异或后的水印文本字符长度不变,进而得到加密隐式水印字节数组。
根据隐式水印的添加位置、均差值线性表和加密隐式水印字节数组,确定均差值字节数组,字节是二进制数据的单位。具体地,执行主体可以根据加密隐式水印字节数组中的字节数,从均差值线性表中的隐式水印的添加位置开始向后取与加密隐式水印字节数组中的字节数相等的十六进制均差值数,并将取得的每个十六进制均差值分别转化为二进制数,进而得到均差值字节数组。
将均差值字节数组与加密隐式水印字节数组进行异或计算,生成目标均差值字节数组,示例的,执行主体从均差值线性表中的隐式水印的添加位置(即起始位置)开始向后取与加密隐式水印字节数组的二进制数等长的均差值线性表长度,例如加密隐式水印字节数组对应的十六进制数为EF,EF转化为二进制数为11101111。则从均差值线性表中的隐式水印的添加位置取8个十六进制数为9,10,A,B,C,D,E,F。将9到F每个数转化为二进制数,将各转化得到的二进制数最右边的第一个位与EF转化的二进制数11101111相应位置的二进制位进行异或运算,即第一个数9对应的二进制的最右侧第一位与11101111从最左侧数第一位进行异或,第二个数10对应的二进制的最右侧第一位与11101111从最左侧数第二位进行异或,以此类推,直至第8个数F对应的二进制的最右侧第一位与11101111从最左侧数第八位进行异或后,结束异或计算,进而生成目标均差值字节数组。
再例如,假设从均差值线性表中的隐式水印的添加位置(即起始位置)开始向后取y1,y2两个数。y1,y2对应的二机制数分别为1001,1000。y为加密后的水印数据。其中y的位置与x的个数相等。
令y=11;
则1001最右侧的第一位,即100(1)与y从最左侧数第一位的(1)1做异或;
1000最右侧的第一位,即100(0)与y从最左侧数第二位的1(1)做异或,结束异或计算,进而生成目标均差值字节数组。
然后,执行主体可以基于目标均差值字节数组还原隐式水印图像,完成要添加的隐式水印文本的加密。在本实施例的一些可选的实现方式中,基于目标均差值字节数组还原隐式水印图像,包括:基于每个像素的颜色通道,确定最长边像素的同一颜色通道相邻像素的均和值。具体地,均和值确定方法如下:
确定显式水印图像的最长边像素,如果最长边像素不是偶数,则执行主体可以在最后一列像素添加零像素点位。
基于每个像素的颜色通道,确定最长边像素的同一颜色通道相邻像素的均差值,进而基于最长边像素中各像素的排列位置确定均差值线性表。具体地,执行主体可以基于该最长边像素从上向下,每行像素依次取相同颜色通道的、相邻的两个像素的像素值的和的均差(即均和值)与差的均差(即均差值),不同颜色通道上的像素值分别计算。保留两组均值用于后续图像的还原。
示例的:图像为3*2的像素图像,最长边为3个像素,为奇数,最后一个像素添加0像素值,使之为偶数,例如,第一行:像素1(红绿蓝),像素2(红绿蓝),像素3(红绿蓝),0;第二行:像素4(红绿蓝),像素5(红绿蓝),像素6(红绿蓝),0。
像素中红色通道的均和为(像素1红色+像素2红色)/2=A,(像素3红色+0)/2=B,每个像素只用于计算一次,将像素1、像素2、像素3、0的红、绿、蓝颜色通道的均和值计算完后放均和值线性表的第一行,即将A、B依次放置于均和值线性表的第一行,(像素4红色+像素5红色)/2=C,(像素6红色+0)/2=D,将像素4、像素5、像素6、0的红、绿、蓝颜色通道的均差值计算完后放均和值线性表的第二行,即将C、D依次存放到均和值线性表中的第二行,按照红、绿、蓝颜色通道的计算顺序,依次计算其它颜色通道的均和值,计算方式类似,并依次放置均和值的计算结果至均和值线性表中。
基于目标均差值字节数组和均和值线性表中的各均和值,确定隐式水印图像中的像素值,进而还原隐式水印图像。执行主体可以通过将目标均差值字节数组转化为对应的均差值,均差值即用于表征像素的值。然后执行主体可以根据公式(2)-(3)计算得到加密后的隐式水印图像中像素的像素值:
(a+b)/2=均和值 (2)
(a-b)/2=均差值 (3)
其中,a、b为相同颜色通道的相邻像素的像素值。
执行主体可以根据计算得到的加密后的隐式水印图像中像素的像素值来还原隐式水印图像,完成加密。
执行主体可以将完成加密后的隐式水印图像添加至确定出的目标水印图像添加区域中已添加显式水印图像后的隐式水印的添加位置。
本实施例利用均和与均差得到相邻像素的差异,通过均差均和冗余计算后增加了水印长度,使得添加的水印的抗攻击性高于传统的不可见水印。并结合水印文本、商品编码及公钥进行一系列的异或运算,只改变一个像素的一个颜色通道中的一个单位颜色值(单位颜色通常是0-255之间的一个数值,如果原值为200,新值为200+1或200-1,在视觉上无法看出,达到加密的目的)。通过引入了梯度区域变化的计算与旋转混淆计算,使得添加的水印的抗攻击能力高于传统的可见水印方案又最大程度减少对原图的影响。均差与均和计算可以进行多次迭代以达到更好的混淆加密效果。
在本实施例的一些可选的实现方式中,还提供了隐式加密水印的水印验证方法:执行主体可以利用上述隐式水印加密方法对未加入隐式水印的图像的显式水印的图像进行隐式水印加密。当改变图像亮度时其像素通道中的最右侧二进制位会发生变化,但其相邻元素的均差值不变,仍满足位非的运算结果,例如最后一位依次为11000,亮度增加偶数时,最后一位依次为11000与原位不变,亮度增加奇数时最后一位依次变以00111,接位非计算与原位相等,则说明原图像是经过该水印加密算法生成的,反之则不成立。
图3是根据本申请第三实施例的水印图像添加方法的应用场景示意图。水印图像添加方法,应用于变化较多的商品照片的添加水印处理的场景。如图3所示,服务器303接收水印添加请求301,获取水印添加请求301中的图像标识302,以获取原始图像O和水印图像C。服务器303识别原始图像O的边缘304,以根据边缘304和水印图像O确定目标水印图像添加区域A。服务器303确定目标水印图像添加区域A内的原始图像O的像素颜色305,以基于像素颜色305确定水印图像C的前景颜色306,生成前景颜色水印图像Cn。服务器303旋转前景颜色水印图像Cn,生成目标水印图像添加区域A内的对应各个旋转方向C1、C2的混合图像C1A、C2A。服务器303确定各混合图像C1A、C2A与目标水印图像添加区域A内的原始图像O的相似度307,以根据相似度307确定前景颜色水印图像Cn的添加方向C2,进而生成水印图像C3(可以是显式(肉眼可见)水印图像也可以是隐式(肉眼不可见)水印图像,本申请对此不做具体限定)。
图4是根据本申请实施例的水印图像添加装置的主要模块的示意图。如图4所示,水印图像添加装置包括接收单元401、识别单元402、前景颜色水印图像生成单元403、混合图像生成单元404和水印图像生成单元405。
接收单元401,被配置成接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像。
识别单元402,被配置成识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域。
前景颜色水印图像生成单元403,被配置成确定前景颜色水印图像。
混合图像生成单元404,被配置成旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像。
水印图像生成单元405,被配置成确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像。
在一些实施例中,识别单元402进一步被配置成:识别原始图像的边缘,生成原始边缘图像,进而根据水印图像分割原始边缘图像,以确定原始图像中的目标水印图像添加区域。
在一些实施例中,识别单元402进一步被配置成:确定水印图像对应的矩形最长对角线长度;以矩形最长对角线长度为正方形边长,构造正方形区域;利用正方形区域分割原始边缘图像。
在一些实施例中,识别单元402进一步被配置成:计算对原始边缘图像分割后的各正方形区域中的像素数值总和;对各像素数值总和进行排序,以根据排序结果确定目标水印图像添加区域。
在一些实施例中,混合图像生成单元404进一步被配置成:以目标水印图像添加区域为中心,旋转前景颜色水印图像,进而将前景颜色水印图像的每一旋转方向对应的前景颜色与目标水印图像添加区域内的原始图像的像素颜色线性混合,生成各混合图像。
在一些实施例中,水印图像生成单元405进一步被配置成:根据各像素对应的预设的颜色通道与向量维度的对应关系、各旋转方向对应的混合图像的像素以及目标水印图像添加区域内的原始图像的像素,以基于预设的相似度公式,确定各混合图像与目标水印图像添加区域内的原始图像的相似度。
在一些实施例中,水印图像生成单元405进一步被配置成:添加前景颜色水印图像至最大相似度对应的旋转方向,以生成显式水印图像。
在一些实施例中,水印图像添加装置还包括图4中未示出的添加位置确定单元,被配置成:确定水印图像的最长边像素;基于每个像素的颜色通道,确定最长边像素的同一颜色通道相邻像素的均差值,进而基于最长边像素中各像素的排列位置确定均差值线性表;确定原始图像对应的字节数;根据字节数,按照预设的索引顺序移动均差值线性表中均差值的索引位置,进而确定隐式水印的添加位置。
在一些实施例中,水印图像添加装置还包括图4中未示出的隐式水印添加单元,被配置成:获取隐式水印文本、预设编码以及公钥密文字符,进而基于异或算法,生成加密隐式水印字节数组;根据隐式水印的添加位置、均差值线性表和加密隐式水印字节数组,确定均差值字节数组;将均差值字节数组与加密隐式水印字节数组进行异或计算,生成目标均差值字节数组;基于目标均差值字节数组还原隐式水印图像;添加隐式水印图像至隐式水印的添加位置。
在一些实施例中,隐式水印添加单元进一步被配置成:基于每个像素的颜色通道,确定最长边像素的同一颜色通道相邻像素的均和值;基于目标均差值字节数组和各均和值,确定隐式水印图像中的像素值,进而还原隐式水印图像。
在一些实施例中,前景颜色水印图像生成单元403进一步被配置成:确定目标水印图像添加区域内的原始图像的像素颜色,以基于像素颜色确定水印图像的前景颜色,生成前景颜色水印图像。
需要说明的是,在本申请水印图像添加方法和水印图像添加装置在具体实施内容上具有相应关系,故重复内容不再说明。
图5示出了可以应用本申请实施例的水印图像添加方法或水印图像添加装置的示例性***架构500。
如图5所示,***架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所提交的水印添加请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像;识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域;确定前景颜色水印图像;旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像;确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像。从而,可以实现减少添加的水印图像对原始图像质量的影响。
需要说明的是,本申请实施例所提供的水印图像添加方法一般由服务器505执行,相应地,水印图像添加装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备的计算机***600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机***600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有计算机***600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶征信授权查询处理器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的***中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、识别单元、前景颜色水印图像生成单元、混合图像生成单元和水印图像生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像;识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域;确定前景颜色水印图像;旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像;确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像。从而,可以实现减少添加的水印图像对原始图像质量的影响。
根据本申请实施例的技术方案,通过接收水印添加请求,获取水印添加请求中的图像标识,以获取原始图像和水印图像;识别原始图像的边缘,以根据边缘和水印图像确定目标水印图像添加区域;确定前景颜色水印图像,进而可以通过旋转前景颜色水印图像,生成目标水印图像添加区域内的对应各个旋转方向的混合图像;确定各混合图像与目标水印图像添加区域内的原始图像的相似度,以根据相似度确定前景颜色水印图像的添加方向,进而生成水印图像,可以减少添加的水印图像(即可以是彩色水印图像)与原始图像的色差,从而减小对原始图像的影响。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种水印图像添加方法,其特征在于,包括:
接收水印添加请求,获取所述水印添加请求中的图像标识,以获取原始图像和水印图像;
识别所述原始图像的边缘,以根据所述边缘和所述水印图像确定目标水印图像添加区域;
确定前景颜色水印图像;
旋转所述前景颜色水印图像,生成所述目标水印图像添加区域内的对应各个旋转方向的混合图像;
确定各所述混合图像与所述目标水印图像添加区域内的原始图像的相似度,以根据所述相似度确定所述前景颜色水印图像的添加方向,进而生成水印图像。
2.根据权利要求1所述的方法,其特征在于,所述识别所述原始图像的边缘,以根据所述边缘和所述水印图像确定目标水印图像添加区域,包括:
识别所述原始图像的边缘,生成原始边缘图像,进而根据所述水印图像分割所述原始边缘图像,以确定所述原始图像中的目标水印图像添加区域。
3.根据权利要求2所述的方法,其特征在于,所述根据所述水印图像分割所述原始边缘图像,包括:
确定所述水印图像对应的矩形最长对角线长度;
以所述矩形最长对角线长度为正方形边长,构造正方形区域;
利用所述正方形区域分割所述原始边缘图像。
4.根据权利要求3所述的方法,其特征在于,所述确定目标水印图像添加区域,包括:
计算对所述原始边缘图像分割后的各正方形区域中的像素数值总和;
对各所述像素数值总和进行排序,以根据排序结果确定目标水印图像添加区域。
5.根据权利要求1所述的方法,其特征在于,所述生成所述目标水印图像添加区域内的对应各个旋转方向的混合图像,包括:
以所述目标水印图像添加区域为中心,旋转所述前景颜色水印图像,进而将所述前景颜色水印图像的每一旋转方向对应的前景颜色与所述目标水印图像添加区域内的原始图像的像素颜色线性混合,生成各混合图像。
6.根据权利要求5所述的方法,其特征在于,所述确定各所述混合图像与所述目标水印图像添加区域内的原始图像的相似度,包括:
根据各像素对应的预设的颜色通道与向量维度的对应关系、各旋转方向对应的混合图像的像素以及所述目标水印图像添加区域内的原始图像的像素,以基于预设的相似度公式,确定各所述混合图像与所述目标水印图像添加区域内的原始图像的相似度。
7.根据权利要求5所述的方法,其特征在于,所述生成水印图像,包括:
添加所述前景颜色水印图像至最大相似度对应的旋转方向,以生成显式水印图像。
8.根据权利要求1所述的方法,其特征在于,在所述生成水印图像之后,所述方法还包括:
确定所述水印图像的最长边像素;
基于每个像素的颜色通道,确定所述最长边像素的同一颜色通道相邻像素的均差值,进而基于所述最长边像素中各像素的排列位置确定均差值线性表;
确定所述原始图像对应的字节数;
根据所述字节数,按照预设的索引顺序移动所述均差值线性表中均差值的索引位置,进而确定隐式水印的添加位置。
9.根据权利要求8所述的方法,其特征在于,在所述确定隐式水印的添加位置之后,所述方法还包括:
获取隐式水印文本、预设编码以及公钥密文字符,进而基于异或算法,生成加密隐式水印字节数组;
根据所述隐式水印的添加位置、所述均差值线性表和所述加密隐式水印字节数组,确定均差值字节数组;
将所述均差值字节数组与所述加密隐式水印字节数组进行异或计算,生成目标均差值字节数组;
基于所述目标均差值字节数组还原隐式水印图像;
添加所述隐式水印图像至所述隐式水印的添加位置。
10.根据权利要求9所述的方法,其特征在于,所述基于所述目标均差值字节数组还原隐式水印图像,包括:
基于每个像素的颜色通道,确定所述最长边像素的同一颜色通道相邻像素的均和值;
基于所述目标均差值字节数组和所述各均和值,确定隐式水印图像中的像素值,进而还原隐式水印图像。
11.根据权利要求1所述的方法,其特征在于,所述确定前景颜色水印图像,包括:
确定所述目标水印图像添加区域内的所述原始图像的像素颜色,以基于所述像素颜色确定所述水印图像的前景颜色,生成前景颜色水印图像。
12.一种水印图像添加装置,其特征在于,包括:
接收单元,被配置成接收水印添加请求,获取所述水印添加请求中的图像标识,以获取原始图像和水印图像;
识别单元,被配置成识别所述原始图像的边缘,以根据所述边缘和所述水印图像确定目标水印图像添加区域;
前景颜色水印图像生成单元,被配置成确定前景颜色水印图像;
混合图像生成单元,被配置成旋转所述前景颜色水印图像,生成所述目标水印图像添加区域内的对应各个旋转方向的混合图像;
水印图像生成单元,被配置成确定各所述混合图像与所述目标水印图像添加区域内的原始图像的相似度,以根据所述相似度确定所述前景颜色水印图像的添加方向,进而生成水印图像。
13.一种水印图像添加电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-11中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110577758.1A CN113298687B (zh) | 2021-05-26 | 2021-05-26 | 一种水印图像添加方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110577758.1A CN113298687B (zh) | 2021-05-26 | 2021-05-26 | 一种水印图像添加方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113298687A true CN113298687A (zh) | 2021-08-24 |
CN113298687B CN113298687B (zh) | 2023-09-29 |
Family
ID=77325282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110577758.1A Active CN113298687B (zh) | 2021-05-26 | 2021-05-26 | 一种水印图像添加方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113298687B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237177A (zh) * | 2023-11-15 | 2023-12-15 | 杭州海康威视数字技术股份有限公司 | 一种水印处理方法、装置及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226387B1 (en) * | 1996-08-30 | 2001-05-01 | Regents Of The University Of Minnesota | Method and apparatus for scene-based video watermarking |
CN103761700A (zh) * | 2013-12-23 | 2014-04-30 | 南京信息工程大学 | 一种基于字符细化的可抵抗打印扫描攻击的水印方法 |
CN105631797A (zh) * | 2015-12-24 | 2016-06-01 | 小米科技有限责任公司 | 水印添加方法及装置 |
CN106023056A (zh) * | 2016-05-24 | 2016-10-12 | 河南师范大学 | 基于dwt和主成分分析压缩的零水印嵌入、提取方法及装置 |
CN106485644A (zh) * | 2016-10-10 | 2017-03-08 | 中国农业大学 | 一种抗几何攻击的视频零水印生成方法及装置 |
CN110418153A (zh) * | 2019-07-30 | 2019-11-05 | 北京达佳互联信息技术有限公司 | 水印添加方法、装置、设备及存储介质 |
CN110458746A (zh) * | 2019-07-17 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 添加水印的方法及装置、电子设备 |
CN111784556A (zh) * | 2020-06-23 | 2020-10-16 | 中国平安人寿保险股份有限公司 | 在图像中添加数字水印的方法、装置、终端及存储介质 |
CN112634119A (zh) * | 2020-12-24 | 2021-04-09 | 深圳壹账通智能科技有限公司 | 水印添加方法、装置、计算机设备和存储介质 |
-
2021
- 2021-05-26 CN CN202110577758.1A patent/CN113298687B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226387B1 (en) * | 1996-08-30 | 2001-05-01 | Regents Of The University Of Minnesota | Method and apparatus for scene-based video watermarking |
CN103761700A (zh) * | 2013-12-23 | 2014-04-30 | 南京信息工程大学 | 一种基于字符细化的可抵抗打印扫描攻击的水印方法 |
CN105631797A (zh) * | 2015-12-24 | 2016-06-01 | 小米科技有限责任公司 | 水印添加方法及装置 |
CN106023056A (zh) * | 2016-05-24 | 2016-10-12 | 河南师范大学 | 基于dwt和主成分分析压缩的零水印嵌入、提取方法及装置 |
CN106485644A (zh) * | 2016-10-10 | 2017-03-08 | 中国农业大学 | 一种抗几何攻击的视频零水印生成方法及装置 |
CN110458746A (zh) * | 2019-07-17 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 添加水印的方法及装置、电子设备 |
CN110418153A (zh) * | 2019-07-30 | 2019-11-05 | 北京达佳互联信息技术有限公司 | 水印添加方法、装置、设备及存储介质 |
CN111784556A (zh) * | 2020-06-23 | 2020-10-16 | 中国平安人寿保险股份有限公司 | 在图像中添加数字水印的方法、装置、终端及存储介质 |
CN112634119A (zh) * | 2020-12-24 | 2021-04-09 | 深圳壹账通智能科技有限公司 | 水印添加方法、装置、计算机设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
LEI-DA L.等: "Rotation, scaling and translation invariant image watermarking using feature points", THE JOURNAL OF CHINA UNIVERSITIES OF POSTS AND TELECOMMUNICATIONS * |
张冠男, 王树勋, 温泉: "一种嵌入可读水印的自适应盲水印算法", 电子学报, no. 02 * |
郑瑾;: "基于图像插值的可逆水印算法研究", 西安文理学院学报(自然科学版), no. 03 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237177A (zh) * | 2023-11-15 | 2023-12-15 | 杭州海康威视数字技术股份有限公司 | 一种水印处理方法、装置及电子设备 |
CN117237177B (zh) * | 2023-11-15 | 2024-03-19 | 杭州海康威视数字技术股份有限公司 | 一种水印处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113298687B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | A 2D logistic map and Lorenz-Rossler chaotic system based RGB image encryption approach | |
CN108269062B (zh) | 基于h5的电子合同制作方法、装置、设备及介质 | |
Mansouri et al. | Image encryption using shuffled Arnold map and multiple values manipulations | |
EP3410685B1 (en) | Image processing device, image processing method, and program | |
CN104995660B (zh) | 冗余像素减轻 | |
Mostafa et al. | A robust high capacity gray code-based double layer security scheme for secure data embedding in 3d objects | |
Li et al. | Sharing more information in gray visual cryptography scheme | |
CN113298687B (zh) | 一种水印图像添加方法和装置 | |
CN110232284B (zh) | 一种图像加密方法及装置 | |
Devi et al. | Entropy influenced RNA diffused quantum chaos to conserve medical data privacy | |
CN112399027B (zh) | 图片加解密方法及装置、存储介质及电子设备 | |
CN113204296B (zh) | 图元高亮显示方法、装置、设备及存储介质 | |
Lee et al. | Preserving user-friendly shadow and high-contrast quality for multiple visual secret sharing technique | |
Melkemi et al. | Voronoi-based image representation applied to binary visual cryptography | |
AU2017100438A4 (en) | Methods and Apparatus for Encrypting Multimedia Information | |
Fadhil et al. | Improved Security of a Deep Learning-Based Steganography System with Imperceptibility Preservation | |
CN110751251A (zh) | 生成、变换二维码图像矩阵的方法和装置 | |
CN111260532A (zh) | 隐私图像加密方法、装置、电子设备及计算机可读存储介质 | |
CN109033863A (zh) | 图片的加密、解密方法及装置 | |
CN114339282A (zh) | 直播互动中主播形象图片的传输方法及装置 | |
Tsai | A secret 3D model sharing scheme with reversible data hiding based on space subdivision | |
Wu et al. | Information hiding in motion data of virtual characters | |
CN110278074B (zh) | 一种用于图像加密的可视化秘密共享方法 | |
CN113076440A (zh) | 地图瓦片图像处理方法、装置、设备及存储介质 | |
CN111131270A (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 |