发明内容
为了解决现有技术中采用基于人工经验的水印定位方法,导致水印定位不够准确且效率低的问题,本发明实施例提供了一种定位数字水印的方法及装置。所述技术方案如下:
第一方面,提供了一种定位数字水印的方法,所述方法包括:
获取n张图像;其中,所述n张图像具有相同的水印,且所述水印在所述n张图像中的位置相同,所述n张图像的分辨率相同;
对于所述n张图像中的目标图像,获取所述目标图像中的每一个像素点对应的相似度;其中,所述目标图像中第i行第j列的像素点对应的相似度是指所述目标图像中第i行第j列的像素点与其它n-1张图像中第i行第j列的像素点的相似度;
根据所述目标图像中的每一个像素点对应的相似度,确定所述目标图像中的候选水印像素点;其中,所述候选水印像素点是指相似度大于第一阈值的像素点;
根据所述候选水印像素点在所述目标图像中的分布特征,确定所述目标图像中的目标处理区域,所述目标处理区域中的候选水印像素点形成候选水印区域;
对所述候选水印区域进行形态学处理,得到处理后的候选水印区域;
根据所述处理后的候选水印区域,确定所述目标图像中的水印像素点。
可选地,所述根据所述处理后的候选水印区域,确定所述目标图像中的水印像素点,包括:
根据所述处理后的候选水印区域确定第一待处理区域;其中,所述第一待处理区域包括:所述处理后的候选水印区域中的每一个像素点,以及,所述处理后的候选水印区域中的每一个像素点的第一邻域像素点,一个像素点的第一邻域像素点是指以所述像素点为中心的第一窗口中除所述像素点之外的其它像素点,所述第一窗口的长为a,所述第一窗口的宽为b,且a、b均大于或等于3;
获取所述第一待处理区域中的每一个像素点对应的相似度;
根据所述第一待处理区域中的每一个像素点对应的相似度,确定绝对水印区域;其中,所述绝对水印区域包括相似度大于第二阈值的像素点,所述第二阈值大于所述第一阈值;
根据所述绝对水印区域确定第二待处理区域;其中,所述第二待处理区域包括:所述绝对水印区域中的每一个像素点,以及,所述绝对水印区域中的每一个像素点的第二邻域像素点,一个像素点的第二邻域像素点是指以所述像素点为中心的第二窗口中除所述像素点之外的其它像素点,所述第二窗口的长为c,所述第二窗口的宽为d,且c、d均大于或等于3;
获取所述第二待处理区域中的每一个像素点对应的相似度;
根据所述第二待处理区域中的每一个像素点对应的相似度,确定所述目标图像中的水印像素点;其中,所述水印像素点是指相似度大于第三阈值的像素点,所述第三阈值大于所述第一阈值且小于所述第二阈值。
可选地,所述对所述候选水印区域进行形态学处理,得到处理后的候选水印区域,包括:
对所述候选水印区域进行腐蚀处理,得到腐蚀处理后的候选水印区域;
对所述腐蚀处理后的候选水印区域进行膨胀处理,得到所述处理后的候选水印区域。
可选地,所述根据所述候选水印像素点在所述目标图像中的分布特征,确定所述目标图像中的目标处理区域,包括:
获取所述候选水印像素点在所述目标图像的长度方向和宽度方向上的分布数量;
获取所述分布数量符合预设条件的像素点所围合形成的矩形区域;
将所述矩形区域的长和宽增加预设倍数,得到所述目标图像中的目标处理区域。
可选地,所述根据所述处理后的候选水印区域,确定所述目标图像中的水印像素点之后,还包括:
若所述目标图像中的水印像素点的类型为线条水印,则采用基于FMM(FastMarching Method,快速行进法)的快速图像修复算法对所述目标图像中的水印像素点进行修复,得到去除水印的目标图像;
若所述目标图像中的水印像素点的类型为块状水印,则采用改进的Criminisi图像修复算法对所述目标图像中的水印像素点进行修复,得到去除水印的目标图像。
第二方面,提供了一种定位数字水印的装置,所述装置包括:
图像获取模块,用于获取n张图像;其中,所述n张图像具有相同的水印,且所述水印在所述n张图像中的位置相同,所述n张图像的分辨率相同;
相似度获取模块,用于对于所述n张图像中的目标图像,获取所述目标图像中的每一个像素点对应的相似度;其中,所述目标图像中第i行第j列的像素点对应的相似度是指所述目标图像中第i行第j列的像素点与其它n-1张图像中第i行第j列的像素点的相似度;
第一确定模块,用于根据所述目标图像中的每一个像素点对应的相似度,确定所述目标图像中的候选水印像素点;其中,所述候选水印像素点是指相似度大于第一阈值的像素点;
第二确定模块,用于根据所述候选水印像素点在所述目标图像中的分布特征,确定所述目标图像中的目标处理区域,所述目标处理区域中的候选水印像素点形成候选水印区域;
形态学处理模块,用于对所述候选水印区域进行形态学处理,得到处理后的候选水印区域;
第三确定模块,用于根据所述处理后的候选水印区域,确定所述目标图像中的水印像素点。
可选地,所述第三确定模块,包括:
第一确定单元,用于根据所述处理后的候选水印区域确定第一待处理区域;其中,所述第一待处理区域包括:所述处理后的候选水印区域中的每一个像素点,以及,所述处理后的候选水印区域中的每一个像素点的第一邻域像素点,一个像素点的第一邻域像素点是指以所述像素点为中心的第一窗口中除所述像素点之外的其它像素点,所述第一窗口的长为a,所述第一窗口的宽为b,且a、b均大于或等于3;
第一获取单元,用于获取所述第一待处理区域中的每一个像素点对应的相似度;
第二确定单元,用于根据所述第一待处理区域中的每一个像素点对应的相似度,确定绝对水印区域;其中,所述绝对水印区域包括相似度大于第二阈值的像素点,所述第二阈值大于所述第一阈值;
第三确定单元,用于根据所述绝对水印区域确定第二待处理区域;其中,所述第二待处理区域包括:所述绝对水印区域中的每一个像素点,以及,所述绝对水印区域中的每一个像素点的第二邻域像素点,一个像素点的第二邻域像素点是指以所述像素点为中心的第二窗口中除所述像素点之外的其它像素点,所述第二窗口的长为c,所述第二窗口的宽为d,且c、d均大于或等于3;
第二获取单元,用于获取所述第二待处理区域中的每一个像素点对应的相似度;
第四确定单元,用于根据所述第二待处理区域中的每一个像素点对应的相似度,确定所述目标图像中的水印像素点;其中,所述水印像素点是指相似度大于第三阈值的像素点,所述第三阈值大于所述第一阈值且小于所述第二阈值。
可选地,所述形态学处理模块,包括:
第一处理单元,用于对所述候选水印区域进行腐蚀处理,得到腐蚀处理后的候选水印区域;
第二处理单元,用于对所述腐蚀处理后的候选水印区域进行膨胀处理,得到所述处理后的候选水印区域。
可选地,所述第二确定模块,包括:
数量获取单元,用于获取所述候选水印像素点在所述目标图像的长度方向和宽度方向上的分布数量;
区域获取单元,用于获取所述分布数量符合预设条件的像素点所围合形成的矩形区域;
区域扩展单元,用于将所述矩形区域的长和宽增加预设倍数,得到所述目标图像中的目标处理区域。
可选地,所述装置还包括:
第一修复模块,用于若所述目标图像中的水印像素点的类型为线条水印,则采用基于FMM的快速图像修复算法对所述目标图像中的水印像素点进行修复,得到去除水印的目标图像;
第二修复模块,用于若所述目标图像中的水印像素点的类型为块状水印,则采用改进的Criminisi图像修复算法对所述目标图像中的水印像素点进行修复,得到去除水印的目标图像。
本发明实施例提供的技术方案带来的有益效果包括:
通过获取n张具有相同水印和相同分辨率的图像,对于该n张图像中的目标图像,获取目标图像中的每一个像素点对应的相似度,根据第一阈值区分非候选水印像素点和候选水印像素点,并确定目标处理区域,对目标处理区域中的候选水印像素点进行形态学处理后,最终确定非水印像素点和水印像素点,解决了现有技术中采用基于人工经验的水印定位方法,导致水印定位不够准确且效率低的问题;实现了自动化地定位水印,提高了水印定位的准确性和效率。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供的方法,各步骤的执行主体可以是具备图像处理能力的终端设备,比如计算机、手机、平板电脑等。为了便于说明,在下述方法实施例中,以各步骤的执行主体为终端设备进行说明。
请参考图1A,其示出了本发明一个实施例提供的定位数字水印的方法的流程图。该方法可以包括如下几个步骤。
步骤101,获取n张图像。
上述n张图像是具有相同的水印和分辨率,且水印在n张图像中的位置相同的不同图像。n为大于1的整数。水印也即数字水印,是一种常见的信息保护手段,通过对原始图像的某一区域的像素点做如下的叠加运算,得到加水印后的图像:
Y=aX+bM
其中,Y为加水印后的图像,X为原始图像,M为水印图像,a和b均为预设的系数。上述n张图像的分辨率相同,也即n张图像在长度方向上包含的像素点数量相同,n张图像在宽度方向上包含的像素点数量也相同。例如,n张图像中每一张图像均包括M*N个像素,M表示长度方向上包含的像素点数量,N表示宽度方向上包含的像素点数量,M、N均为大于1的整数。
另外,上述n张图像均为数字图像。在一个示例中,上述图像是采用R(Red,红色)G(Green,绿色)B(Blue,蓝色)颜色标准的数字图像。上述图像中包括M*N个像素,每个像素采用RGB三个颜色分量来表示。在后续进行相似度计算时,可以直接根据RGB三个颜色分量计算相似度;或者,也可以将每一张图像转换为灰度图像,每个像素采用0到255之间的灰度值来表示,根据灰度值计算相似度。需要说明的是,本发明实施例同样适用于其它颜色标准的图像,对此不加以限定。
步骤102,对于n张图像中的目标图像,获取目标图像中的每一个像素点对应的相似度。
目标图像为n张图像中的任意一张图像。目标图像中第i行第j列的像素点对应的相似度是指目标图像中第i行第j列的像素点与其它n-1张图像中第i行第j列的像素点的相似度。
由于n张图像具有相同的水印但图像内容并不相同,也即n张图像是不同的图像,因此水印像素点的特征在n张图像中具有相似性,而非水印像素点的特征在n张图像中具有随机性。上述特征可以是RGB三个颜色分量,也可以是灰度值,或者其它像素特征。因此,可以根据每一个像素点对应的相似度来区分图像中的水印像素点和非水印像素点。
在计算目标图像中的每一个像素点对应的相似度时,可根据像素点的RGB三个颜色分量、灰度值或者其它像素特征进行计算。以计算目标图像中第i行第j列的像素点对应的相似度为例,根据目标图像中第i行第j列的像素点的灰度值以及其它n-1张图像中第i行第j列的像素点的灰度值,计算目标图像中第i行第j列的像素点对应的相似度。
另外,相似度的衡量指标可以是残差、标准差、方差和极差中的至少一种。在一种可能的实施方式中,直接采用上述衡量指标表示相似度。以计算目标图像中第i行第j列的像素点对应的相似度为例,假设采用残差表示相似度,则计算目标图像中第i行第j列的像素点的灰度值与其它n-1张图像中第i行第j列的像素点的灰度值的残差,并将该残差作为目标图像中第i行第j列的像素点对应的相似度。在另一种可能的实施方式中,根据上述衡量指标计算相似度。以计算目标图像中第i行第j列的像素点对应的相似度为例,首先计算目标图像中第i行第j列的像素点的灰度值与其它n-1张图像中第i行第j列的像素点的灰度值的标准差,而后将该标准差的倒数作为目标图像中第i行第j列的像素点对应的相似度。
在一个具体的例子中,终端设备获取10张图像,上述10张图像具有相同的水印和分辨率,且水印在每张图像中的位置均相同。以计算目标图像中第i行第j列的像素点对应的相似度为例,假设目标图像中第i行第j列的像素点的灰度值为52,在其它9张图像中第i行第j列的像素点的灰度值分别为49、50、55、52、52、53、49、57和53,根据计算得到标准差为0.707,则目标图像中第i行第j列的像素点对应的相似度为1.414。
步骤103,根据目标图像中的每一个像素点对应的相似度,确定目标图像中的候选水印像素点。
候选水印像素点是指相似度大于第一阈值的像素点,也即从目标图像中选择相似度较大的像素点作为候选水印像素点。其中,第一阈值的取值可根据相似度的计算方式预先设定。
可选地,候选水印像素点与非候选水印像素点在目标图像中的分布情况可采用二值图像来表示。比如,目标图像中第i行第j列的像素点被确定为候选水印像素点,则在二值图像中将第i行第j列的像素点标记为1;或者,目标图像中第i行第j列的像素点被确定为非候选水印像素点,则在二值图像中将第i行第j列的像素点标记为0。
结合参考图1C,其示例性示出了一种数字水印的定位过程的示意图。对于目标图像11,获取其每一个像素对应的相似度之后,确定目标图像中的候选水印像素点,采用二值图像12来表示候选水印像素点与非候选水印像素点在目标图像中的分布情况,其中,白点是候选水印像素点,黑点为非候选水印像素点。
步骤104,根据候选水印像素点在目标图像中的分布特征,确定目标图像中的目标处理区域。
目标处理区域是目标图像中候选水印像素点的分布密度较高的矩形区域。目标处理区域中既包括候选水印像素点,又包括非候选水印像素点。目标处理区域中的候选水印像素点形成候选水印区域,也即,候选水印区域仅包括目标处理区域中的候选水印像素点。
需要说明的是,在确定目标图像中的目标处理区域时,可基于目标图像对应的二值图像进行分析确定。
在一种可能的实施方式中,步骤104可以包括如下几个子步骤:
1,获取候选水印像素点在目标图像的长度方向和宽度方向上的分布数量;
可选地,采用两幅直方图分别表示候选水印像素点在长度方向和宽度方向上的分布情况。其中,候选水印像素点在长度方向上的分布情况可根据目标图像每列包括的候选水印像素点的数量确定,候选水印像素点在宽度方向上的分布情况可根据目标图像每行包括的候选水印像素点的数量确定,因此,两幅直方图的横坐标分别为目标图像的列和行,纵坐标均为候选水印像素点的数量。
比如,对于目标图像的第12行,其包括像素点为256个,其中,候选水印像素点的数量为100个,非候选水印像素点的数量为156个,则在候选水印像素点在宽度方向上的分布情况对应的直方图中,用高100个单位的柱体表示目标图像的第12行的候选水印像素点的数量,每个单位为1个候选水印像素点对应的长度。
2,获取分布数量符合预设条件的像素点所围合形成的矩形区域;
预设条件是该行或列的候选水印像素点的数量大于预设阈值。比如,预设条件为该行或列的候选水印像素点的数量大于100个。则对于第5行,其包括172个候选水印像素点,则第5行是分布数量符合预设条件的行。
可选地,先获取候选水印像素点的数量最大的行和列,以候选水印像素点的个数最大的行为中心向两侧扩展至第一预设范围,将候选水印像素点的个数最大的列为中心分别向两侧扩展至第二预设范围,第一预设范围和第二预设范围可以相同,也可以不同,最后将第一预设范围和第二预设范围重叠的部分确定为分布数量符合预设条件的像素点所围合形成的矩形区域。比如,第7行和第8列分别为候选水印像素点的个数最大的行和列,以第7行为中心分别向两边扩展4行,得到包括9行的第一预设范围,其中,上述9行分别为第3、4、5、6、7、8、9、10和11行,以第8列为中心分别向两边扩展3列,得到包括7列的第二预设范围,其中,上述7列分别为第5、6、7、8、9、10和11列,将上述行和列重叠的部分确定为分布数量符合预设条件的像素点所围合形成的矩形区域,该矩形区域的长包括9个像素点,宽包括7个像素点。
3,将矩形区域的长和宽增加预设倍数,得到目标图像中的目标处理区域。
在本发明实施例中,对预设倍数的取值不作限定。可选地,将矩形区域的长和宽分别增加至原长和原宽的二分之三,得到目标处理区域。
结合参考图1C,对于二值图像12,根据候选水印像素点在目标图像的长度方向和宽度方向上的分布数量获取分布数量符合预设条件的像素点所围合形成的矩形区域13,将矩形区域13的长和宽增加预设倍数,得到目标处理区域14。目标处理区域14中的候选水印像素点形成候选水印区域15。
步骤105,对候选水印区域进行形态学处理,得到处理后的候选水印区域。
形态学处理是将结构元素(Structure Element,SE)的每个像素与二值图像相对应的区域进行特定的逻辑运算。结构元素是预先设定的二值图像,通常结构元素包括的像素个数应当小于候选水印区域包括的像素个数。形态学处理的基本运算包括腐蚀、膨胀、开运算与闭运算。其中,腐蚀的具体操作是用一个结构元素(一般是3×3的大小)扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为1,则该像素为1,否则为0。膨胀的具体操作是用一个结构元素(一般是3×3的大小)扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为0,则该像素为0,否则为1。开运算是先腐蚀后膨胀的过程。闭运算是先膨胀后腐蚀的过程。
可选地,步骤105包括如下两个子步骤:
1,对候选水印区域进行腐蚀处理,得到腐蚀处理后的候选水印区域。
2,对腐蚀处理后的候选水印区域进行膨胀处理,得到处理后的候选水印区域。
腐蚀和膨胀是根据结构元素对目标图像对应的二值图像进行操作,去除候选水印区域周边一些零星的水印点,还将被候选水印区域包围的一些非候选水印像素点转变为候选水印像素点,以使得定位数字水印的准确性能够得到提高。结合参考图1C,对目标处理区域14中的候选水印区域15进行先腐蚀后膨胀的形态学处理,得到处理后的候选水印区域16。
步骤106,根据处理后的候选水印区域,确定目标图像中的水印像素点。
目标图像中的水印像素点是目标图像对应的二值图像中被标记为1的像素点。终端设备根据目标图像对应的二值图像中的处理后的候选水印区域,确定目标图像中的水印像素点。
可选地,请参考图1B,步骤106包括如下几个子步骤:
步骤106a,根据处理后的候选水印区域确定第一待处理区域;
第一待处理区域包括:处理后的候选水印区域中的每一个像素点,以及,处理后的候选水印区域中的每一个像素点的第一邻域像素点。一个像素点的第一邻域像素点是指以像素点为中心的第一窗口中除像素点之外的其它像素点,第一窗口的长为a,第一窗口的宽为b,且a、b均大于或等于3。其中,第一窗口的长由该第一窗口每行或每列包括的像素的个数决定的,第一窗口的宽由该第一窗口每列或每行包括的像素的个数决定的。
比如,对于处理后的候选水印区域中的像素点P,其第一邻域为3×3的第一窗口,也即,像素点P的第一邻域中的每行和每列均包括3个像素点。其中,像素点P位于该第一窗口的中心,位于该第一窗口的其它8个位置的像素点为像素点P的第一邻域像素点。
步骤106b,获取第一待处理区域中的每一个像素点对应的相似度;
由于在步骤102中已经获取目标图像中的每一个像素点对应的相似度,因此此时可直接获取第一待处理区域中的每一个像素点对应的相似度,无需重复计算。
步骤106c,根据第一待处理区域中的每一个像素点对应的相似度,确定绝对水印区域;
绝对水印区域包括相似度大于第二阈值的像素点,第二阈值大于第一阈值。
步骤106d,根据绝对水印区域确定第二待处理区域;
第二待处理区域包括:绝对水印区域中的每一个像素点,以及,绝对水印区域中的每一个像素点的第二领域像素点。一个像素点的第二领域像素点是指以像素点为中心的第二窗口中除像素点之外的其它像素点,第二窗口的长为c,第二窗口的宽为d,且c、d均大于或等于3。其中,第二窗口的长由该第二窗口每行或每列包括的像素的个数决定的,第二窗口的宽由该第二窗口每列或每行包括的像素的个数决定的。
比如,对于处理后的候选水印区域中的像素点Q,其第二邻域为5×5的第二窗口,也即,像素点Q的第二邻域中的每行和每列均包括5个像素点。其中,像素点Q位于该第二窗口的中心,位于该第二窗口的其它24个位置的像素点为像素点Q的第二邻域像素点。
步骤106e,获取第二待处理区域中的每一个像素点对应的相似度;
由于在步骤102中已经获取目标图像中的每一个像素点对应的相似度,因此此时可直接获取第二待处理区域中的每一个像素点对应的相似度,无需重复计算。
步骤106f,根据第二待处理区域中的每一个像素点对应的相似度,确定目标图像中的水印像素点。
水印像素点是指相似度大于第三阈值的像素点,第三阈值大于第一阈值且小于第二阈值。
结合参考图1C,根据处理后的候选水印区域16确定第一待处理区域,获取第一待处理区域中的每一个像素点对应的相似度,根据第一待处理区域中的每一个像素点对应的相似度,确定绝对水印区域17;根据绝对水印区域16确定第二待处理区域,获取第二待处理区域中的每一个像素点对应的相似度,根据第二待处理区域中的每一个像素点对应的相似度,确定目标图像中的水印像素点18。
综上所述,本发明实施例提供的方法,通过获取n张具有相同水印和相同分辨率的图像,对于该n张图像中的目标图像,获取目标图像中的每一个像素点对应的相似度,根据第一阈值区分非候选水印像素点和候选水印像素点,并确定目标处理区域,对目标处理区域中的候选水印像素点进行形态学处理后,最终确定非水印像素点和水印像素点,解决了现有技术中采用基于人工经验的水印定位方法,导致水印定位不够准确且效率低的问题;实现了自动化地定位水印,提高了水印定位的准确性和效率。
本发明实施例提供的方法,还通过对目标处理区域中的候选水印区域进行先腐蚀后膨胀的形态学处理,能去除候选水印区域周边一些零星的水印点,还能使被候选水印区域包围的一些非候选水印像素点转变为候选水印像素点,进一步提高定位数字水印的准确性。
本发明实施例提供的方法,还通过设置第二阈值和第三阈值对目标图像中的水印点像素做进一步的筛选,以使得目标处理区域中的每一个水印点像素都被标记,进一步提高定位数字水印的准确性。
在实际应用中,定位确定目标图像中的水印像素点之后,可以对目标图像中的水印像素点进行修复。其中,修复是指对受到损坏的图像进行重建或者去除图像中的多余物体。在本发明实施例中,对目标图像中的水印像素点进行修复即为去除水印。
在实际应用中,可首先确定目标图像中的水印像素点的类型。水印像素点的类型可根据目标图像中的水印像素点形成的图案的形状确定。目标图像中的水印像素点的类型可根据人工经验得到。比如,目标图像中的水印像素点围合成的图案的形状为细长型,则确定目标图像中的水印像素点的类型为线条水印。针对水印像素点的不同类型,可采用不同的图像修复算法。
在一种可能的实施方式中,若目标图像中的水印像素点的类型为线条水印,则采用基于FMM的快速图像修复算法对目标图像中的水印像素点进行修复,得到去除水印的目标图像。
采用基于FMM的快速图像修复算法对线条水印进行修复的步骤具体如下:
第一步、根据待修复区域的每个像素点到初始边界的距离确定修复顺序。
待修复区域的每个像素点为水印像素点。初始边界是根据非水印像素点确定的边界,其中,上述非水印像素点的四邻域均为水印像素点。
采用如下公式求解待修复区域的每个像素点的程函(Eikonal)方程:
其中,T是待修复区域的每个像素点到初始边界的距离。
通过求解Eikonal方程,可以得到所有水印像素点到初始边界的距离,采用FMM算法时,优先处理到初始边界的距离最小的水印像素点。
第二步、根据预设的权重函数计算待修复区域的每个像素点的修复值。
预设的权重函数如下:
w(p,q)=dir(p,q)*dst(p,q)
其中,p为待修复像素;q为参考像素,也即,q是待修复像素的邻域像素,并且,q的每个颜色分量的亮度值均为已知的,q的个数通常小于15。dir(p,q)为方向因子,也即参考像素q与待修复像素p之间在纹理方向上的相关性,参考像素q与待修复像素p纹理方向靠得越近,则dir(p,q)越大;dst(p,q)为距离因子,也即参考像素q与待修复像素p之间距离的影响,参考像素q与待修复像素p的距离越近,则dst(p,q)越大。
对于采用RGB颜色标准的数字图像,水印像素点的修复值为红色分量、绿色分量、蓝色分量分别对应的亮度值;对于灰度图像,水印像素点的修复值为灰度值。
采用如下公式计算待修复区域的每个像素点的修复值:
其中,p为待修复像素;q为参考像素;I(p)是待修复像素的修复值,对于每一个待修复像素,存在三个I(p);w(p,q)为权重函数;I(q)是参考像素的每个颜色分量的亮度值。
在一个具体的例子中,请参考图2A,对于目标图像31,其具有线条水印32,采用FMM算法对目标图像31进行修复后,得到去除水印后的图像33。
在另一种可能的实施方式中,若目标图像中的水印像素点的类型为块状水印,则采用改进的Criminisi图像修复算法对目标图像中的水印像素点进行修复,得到去除水印的目标图像。
采用改进的Criminisi图像修复算法对块状水印进行修复的步骤如下:
第一步:根据水印像素点邻域内的非水印像素点的个数以及水印像素点所处位置的纹理明显程度确定修复顺序。
其中,水印像素点所处位置的纹理明显程度可采用如下的拉普拉斯算子模板对水印像素点的邻域的三个颜色分量分别进行遍历:
得到水印像素点对应的每个颜色分量的值后,对其进行加权,得到一个可以表示纹理明显程度的值。本发明实施例对每个颜色分量的值进行加权的方式不做限定。
然后:终端设备采用如下公式计算修复顺序。
P(p)=xC(p)+yD(p)
P(p)用于指示水印像素点的修复顺序,P(p)越大,则上述P(p)对应的水印像素点的修复顺序越靠前;C(p)是水印像素点邻域内的非水印像素点的个数;D(p)是水印像素点所处位置的纹理明显程度;x,y为预设的系数,该预设系数可以由人工设定,比如,x为0.1,y为0.9。
第二步,寻找以水印像素点为中心的待修复块的最佳匹配块。
首先,以待修复块作为模板,遍历一个选定的区域,并依次计算色度差。色度差最小的被确定为最佳匹配块。选定的区域可以根据修复的时间要求和精度要求来确定,当修复的时间要求越快,精度要求越低时,则选择目标图像中一个较小的区域,选定的区域必须要大于待修复区域。
采用如下公式计算待修复块与其当前遍历的选定的区域的部分区域的色度差:
d=Σ[(IR-IR 1)2+(IG-IG 1)2+(IB-IB 1)2]
其中,d是色度差的值,IR、IG和IB分别是待修复块的某个像素的红色、绿色和蓝色分量的亮度值,IR 1、IG 1和IB 1分别是其当前遍历的选定的区域的部分区域与上述像素对应的像素的红色、绿色和蓝色分量的亮度值。
第三步、以最佳匹配块填充待修复块。
终端设备确定最佳匹配块后,将最佳匹配块中每个像素每个颜色分量对应的亮度值确定为待修复块中每个像素每个颜色分量对应的亮度值。之后重复步骤第一步至第三步,直至目标图像修复完成。
在一个具体的例子中,请参考图2B,对于目标图像34,其具有线条水印35,采用FMM算法对目标图像34进行修复后,得到去除水印后的图像36。
通过上述方式,针对线条水印,采用基于FMM的快速图像修复算法,可以提高修复速度;针对块状水印,采用改进的Criminisi图像修复算法,可以保持目标图像原有的纹理信息,能够高度还原水印覆盖的纹理部分。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图3,其示出了本发明一个实施例提供的定位数字水印的装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置包括:图像获取模块301、相似度获取模块302、第一确定模块303、第二确定模块304、区域处理模块305和第三确定模块306。
图像获取模块301,用于获取n张图像。其中,n张图像具有相同的水印,且水印在n张图像中的位置相同,n张图像的分辨率相同。
相似度获取模块302,用于对于n张图像中的目标图像,获取目标图像中的每一个像素点对应的相似度。其中,目标图像中第i行第j列的像素点对应的相似度是指目标图像中第i行第j列的像素点与其它n-1张图像中第i行第j列的像素点的相似度。
第一确定模块303,用于根据目标图像中的每一个像素点对应的相似度,确定目标图像中的候选水印像素点。其中,候选水印像素点是指相似度大于第一阈值的像素点。
第二确定模块304,用于根据候选水印像素点在目标图像中的分布特征,确定目标图像中的目标处理区域。目标处理区域中的候选水印像素点形成候选水印区域。
形态学处理模块305,用于对候选水印区域进行形态学处理,得到处理后的候选水印区域。
第三确定模块306,用于根据处理后的候选水印区域,确定目标图像中的水印像素点。
在基于图3所示实施例提供的一个可选实施例中,请参考图4,所述第三确定模块306,包括:第一确定单元306a、第一获取单元306b、第二确定单元306c、第三确定单元306d、第二获取单元306e和第四确定单元306f。
第一确定单元306a,用于根据处理后的候选水印区域确定第一待处理区域。其中,第一待处理区域包括:处理后的候选水印区域中的每一个像素点,以及,处理后的候选水印区域中的每一个像素点的第一邻域像素点,一个像素点的第一邻域像素点是指以像素点为中心的第一窗口中除像素点之外的其它像素点,第一窗口的长为a,第一窗口的宽为b,且a、b均大于或等于3。
第一获取单元306b,用于获取第一待处理区域中的每一个像素点对应的相似度。
第二确定单元306c,用于根据第一待处理区域中的每一个像素点对应的相似度,确定绝对水印区域;其中,绝对水印区域包括相似度大于第二阈值的像素点,第二阈值大于第一阈值。
第三确定单元306d,用于根据绝对水印区域确定第二待处理区域。其中,第二待处理区域包括:绝对水印区域中的每一个像素点,以及,绝对水印区域中的每一个像素点的第二邻域像素点,一个像素点的第二邻域像素点是指以像素点为中心的第二窗口中除像素点之外的其它像素点,第二窗口的长为c,第二窗口的宽为d,且c、d均大于或等于3。
第二获取单元306e,用于获取第二待处理区域中的每一个像素点对应的相似度。
第四确定单元306f,用于根据第二待处理区域中的每一个像素点对应的相似度,确定目标图像中的水印像素点;其中,水印像素点是指相似度大于第三阈值的像素点,第三阈值大于第一阈值且小于第二阈值。
在基于图3所示实施例提供的另一个可选实施例中,请参考图4,形态学处理模块305,包括:第一处理单元305a和第二处理单元305b。
第一处理单元305a,用于对候选水印区域进行腐蚀处理,得到腐蚀处理后的候选水印区域。
第二处理单元305b,用于对腐蚀处理后的候选水印区域进行膨胀处理,得到处理后的候选水印区域。
在基于图3所示实施例提供的另一个可选实施例中,请参考图4,第二确定模块304,包括:数量获取单元304a、区域获取单元304b和区域扩展单元304c。
数量获取单元304a,用于获取候选水印像素点在目标图像的长度方向和宽度方向上的分布数量。
区域获取单元304b,用于获取分布数量符合预设条件的像素点所围合形成的矩形区域。
区域扩展单元304c,用于将矩形区域的长和宽增加预设倍数,得到目标图像中的目标处理区域。
在基于图3所示实施例提供的另一个可选实施例中,请参考图4,该装置还包括:第一修复模块307和第二修复模块308。
第一修复模块307,用于若目标图像中的水印像素点的类型为线条水印,则采用基于FMM的快速图像修复算法对目标图像中的水印像素点进行修复,得到去除水印的目标图像。
第二修复模块308,用于若目标图像中的水印像素点的类型为块状水印,则采用改进的Criminisi图像修复算法对目标图像中的水印像素点进行修复,得到去除水印的目标图像。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图5,其示出了本发明一个实施例提供的终端设备的结构示意图。该终端设备用于实施上述实施例中提供的定位数字水印的方法。具体来讲:
终端设备500可以包括RF(Radio Frequency,射频)电路510、包括有一个或一个以上计算机可读存储介质的存储器520、输入单元530、显示单元540、传感器550、音频电路560、WiFi(wireless fidelity,无线保真)模块570、包括有一个或者一个以上处理核心的处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器580处理;另外,将涉及上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器520还可以包括存储器控制器,以提供处理器580和输入单元530对存储器520的访问。
输入单元530可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元530可包括图像输入设备531以及其他输入设备532。图像输入设备531可以是摄像头,也可以是光电扫描设备。除了图像输入设备531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及终端设备500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元540可包括显示面板541,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板541。
终端设备500还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在终端设备500移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与终端设备500之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一终端设备,或者将音频数据输出至存储器520以便进一步处理。音频电路560还可能包括耳塞插孔,以提供外设耳机与终端设备500的通信。
WiFi属于短距离无线传输技术,终端设备500通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块570,但是可以理解的是,其并不属于终端设备500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是终端设备500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行终端设备500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理核心;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
终端设备500还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源590还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备500还可以包括蓝牙模块等,在此不再赘述。
具体在本实施例中,终端设备500还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述方法的指令。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端的处理器执行以完成上述方法实施例的各个步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。