CN106204424A - 图像去水印方法、应用和计算设备 - Google Patents
图像去水印方法、应用和计算设备 Download PDFInfo
- Publication number
- CN106204424A CN106204424A CN201610507337.0A CN201610507337A CN106204424A CN 106204424 A CN106204424 A CN 106204424A CN 201610507337 A CN201610507337 A CN 201610507337A CN 106204424 A CN106204424 A CN 106204424A
- Authority
- CN
- China
- Prior art keywords
- pixel
- block
- smear zone
- lei
- center
- 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 60
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 30
- 230000008439 repair process Effects 0.000 claims description 23
- 230000004927 fusion Effects 0.000 claims description 18
- 238000010422 painting Methods 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 206010008190 Cerebrovascular accident Diseases 0.000 description 6
- 208000006011 Stroke Diseases 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 101000746134 Homo sapiens DNA endonuclease RBBP8 Proteins 0.000 description 1
- 101000969031 Homo sapiens Nuclear protein 1 Proteins 0.000 description 1
- 102100021133 Nuclear protein 1 Human genes 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000013316 zoning Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
一种图像去水印方法,在计算设备中执行,该方法包括:获取用户对图像的涂抹轨迹;根据涂抹轨迹确定图像的涂抹区和非涂抹区;获取涂抹区中每一个像素的RGB值,根据各像素的RGB值将涂抹区的像素分为正常类和水印类两类,并确定两个类的类中心;根据类中心将涂抹区周围的像素分为水印像素和正常像素;将涂抹区边界周围的区域划分为至少一个第一区块,将涂抹区周围的非涂抹区划分为多个第二区块;对于每一个第一区块,计算该第一区块与各第二区块的相似距离,用与该第一区块相似距离最小的第二区块中的各像素替换该第一区块中的各像素;将所有第一区块与非涂抹区进行图像融合。本发明还公开了采用上述方法的图像去水印应用以及包含上述应用的计算设备。
Description
技术领域
本发明涉及图像修复技术领域,尤其涉及一种图像去水印方法、应用和计算设备。
背景技术
图像修复,即对受到损坏的图像进行修复重建或者去除图像中的多余物体。由于修复区信息的缺失,图像修复是一种根据修复区周围的图像信息或其他先验知识对修复区进行复原与重建的大难题。
去水印即是一种复杂背景下的图像修复问题。现有算法的去水印效果往往难以令人满意。例如,Photoshop的基于内容的填充算法是现有的去水印算法之一,该算法根据周围信息来对修复区进行填充和融合。由于问题本身难度较大,为了得到较好的效果,该算法需要通过用户一点点的涂抹操作来慢慢消除水印,而非通过用户的一次涂抹将水印全部消除。由于进行了多次涂抹,很容易出现用未涂抹的水印来修复涂抹区的情况,导致图像越修复越难看。
发明内容
为此,本发明提供一种图像去水印方法、应用和计算设备,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种图像去水印方法,在计算设备中执行,该方法包括:获取用户对图像的涂抹轨迹;根据所述涂抹轨迹确定图像的涂抹区和非涂抹区,其中,所述涂抹区为被所述涂抹轨迹覆盖的图像区域,所述非涂抹区为未被所述涂抹轨迹覆盖的图像区域;获取所述涂抹区中每一个像素的RGB值,根据各像素的RGB值将所述涂抹区的像素分为正常类和水印类两类,并确定两个类的类中心;根据所述类中心将涂抹区周围的像素分为水印像素和正常像素;将涂抹区边界周围的区域划分为至少一个第一区块,每个所述第一区块中均包括涂抹区的一部分像素和非涂抹区的一部分像素,将涂抹区周围的非涂抹区划分为多个第二区块,所述第二区块中的像素均为正常像素;对于每一个第一区块,计算该第一区块与各第二区块的相似距离,用与该第一区块相似距离最小的第二区块中的各像素替换该第一区块中的各像素,并将该第一区块中的像素均标记为非涂抹区像素;将所有第一区块与非涂抹区进行图像融合。
可选地,在根据本发明的图像去水印方法中,根据各像素的RGB值将所述涂抹区的像素分为正常类和水印类两类,并确定两个类的类中心的步骤进一步包括:根据各像素的RGB值,采用kmeans聚类算法将所述涂抹区的像素聚成两类,并得到两个类中心;分别计算两个类中心到涂抹区边界的距离,将到涂抹区边界的距离较小的类中心作为正常类的类中心,将到涂抹区边界的距离较大的类中心作为水印类的类中心。
可选地,在根据本发明的图像去水印方法中,类中心到涂抹区边界的距离为类中心到涂抹区边界上每一个像素的欧氏距离之和。
可选地,在根据本发明的图像去水印方法中,根据所述类中心将涂抹区周围的像素分为水印像素和正常像素的步骤进一步包括:分别计算涂抹区周围的每一个像素到正常类的类中心和水印类的类中心的距离,若该像素到正常类的类中心的距离小于到水印类的类中心的距离,则该像素为正常像素;反之,则该像素为水印像素。
可选地,在根据本发明的图像去水印方法中,像素到正常类的类中心的距离为该像素到正常类的类中心的欧氏距离,像素到水印类的类中心的距离为该像素到水印类的类中心的欧氏距离。
可选地,在根据本发明的图像去水印方法中,第一区块和第二区块的大小相同。
可选地,在根据本发明的图像去水印方法中,当图像的大小为640*480时,将第一区块和第二区块的大小均设置为7*7。
可选地,在根据本发明的图像去水印方法中,第一区块与第二区块的相似距离为:第一区块的非涂抹区像素与第二区块中对应位置像素的欧氏距离之和。
可选地,在根据本发明的图像去水印方法中,将所有第一区块与非涂抹区进行图像融合的步骤进一步包括:将所有第一区块的边界像素的梯度设置为0;对于每一个第一区块,根据边界像素的梯度和各像素的RGB值确定泊松方程;求解泊松方程,得出融合后第一区块中各像素的RGB值。
根据本发明的一个方面,提供一种图像去水印应用,驻留在计算设备中,该应用包括:交互模块,适于获取用户对图像的涂抹轨迹,并根据所述涂抹轨迹确定图像的涂抹区和非涂抹区,其中,所述涂抹区为被所述涂抹轨迹覆盖的图像区域,所述非涂抹区为未被所述涂抹轨迹覆盖的图像区域;聚类模块,适于获取所述涂抹区中每一个像素的RGB值,根据各像素的RGB值将所述涂抹区的像素分为正常类和水印类两类,并确定两个类的类中心;根据所述类中心将涂抹区周围的像素分为水印像素和正常像素;修复模块,适于将涂抹区边界周围的区域划分为至少一个第一区块,每个所述第一区块中均包括涂抹区的一部分像素和非涂抹区的一部分像素,将涂抹区周围的非涂抹区划分为多个第二区块,所述第二区块中的像素均为正常像素;对于每一个第一区块,计算该第一区块与各第二区块的相似距离,用与该第一区块相似距离最小的第二区块中的各像素替换该第一区块中的各像素,并将该第一区块中的像素均标记为非涂抹区像素;融合模块,适于将所有第一区块与非涂抹区进行图像融合。
可选地,在根据本发明的图像去水印应用中,聚类模块进一步适于:根据各像素的RGB值,采用kmeans聚类算法将所述涂抹区的像素聚成两类,并得到两个类中心;分别计算两个类中心到涂抹区边界的距离,将到涂抹区边界的距离较小的类中心作为正常类的类中心,将到涂抹区边界的距离较大的类中心作为水印类的类中心。
可选地,在根据本发明的图像去水印应用中,类中心到涂抹区边界的距离为类中心到涂抹区边界上每一个像素的欧氏距离之和。
可选地,在根据本发明的图像去水印应用中,聚类模块进一步适于:分别计算涂抹区周围的每一个像素到正常类的类中心和水印类的类中心的距离,若该像素到正常类的类中心的距离小于到水印类的类中心的距离,则该像素为正常像素;反之,则该像素为水印像素。
可选地,在根据本发明的图像去水印应用中,像素到正常类的类中心的距离为该像素到正常类的类中心的欧氏距离,像素到水印类的类中心的距离为该像素到水印类的类中心的欧氏距离。
可选地,在根据本发明的图像去水印应用中,第一区块和第二区块的大小相同。
可选地,在根据本发明的图像去水印应用中,当图像的大小为640*480时,将第一区块和第二区块的大小均设置为7*7。
可选地,在根据本发明的图像去水印应用中,第一区块与第二区块的相似距离为:第一区块的非涂抹区像素与第二区块中对应位置像素的欧氏距离之和。
可选地,在根据本发明的图像去水印应用中,融合模块进一步适于:将所有第一区块的边界像素的梯度设置为0;对于每一个第一区块,根据边界像素的梯度和各像素的RGB值确定泊松方程;求解泊松方程,得出融合后第一区块中各像素的RGB值。
根据本发明的一个方面,提供一种计算设备,包括如上图像去水印应用。
根据本发明提供的技术方案,将涂抹区的像素聚成两类,并确定两个类中心。将两个类中心中距涂抹区边界距离较小的作为正常类的类中心,距涂抹区边界距离较大的作为水印类的类中心,并根据正常类的类中心和水印类的类中心将涂抹区周围的像素分为水印像素和正常像素。在填充修复时,仅用正常像素来填充涂抹区,避免了利用水印去修复水印的恶性循环,提高了算法的稳定性,可以达到良好的去水印效果。本发明提供的去水印方法尤其适用于水印与背景图像在像素上有比较大的区分度的情况,因为这样使得聚类更加准确,相应地,去水印效果也更好。
此外,本发明采用泊松融合来融合填充后的涂抹区与背景图像,使得修复后的涂抹区与背景图像的过渡更加自然。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的结构图;
图2示出了根据本发明一个实施例的图像去水印应用200的结构图;
图3A示出了根据本发明一个含水印的图像300的示意图,图3B示出了用户对图像300进行涂抹后的示意图;
图4示出了根据本发明一个实施例的第一区块与第二区块的示意图;
图5示出了用第二区块q中的各像素替换第一区块p中的各像素的替换结果示意图;
图6A示出了根据本发明一个实施例的图像去水印方法600的流程图;图6B示出了根据本发明另一个实施例的去水印过程700的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的图像去水印应用驻留在计算设备中,图1示出了根据本发明一个实施例的计算设备100的结构图。在基本配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据126。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据126进行操作。在本发明中,应用122可以被配置为包括图像去水印应用200和其他应用124,相应地,程序数据126中可以存储图像信息及修复过程信息,例如图像尺寸大小、图像中各像素的RGB值、用户的涂抹轨迹、聚类得出的正常类和水印类的类中心,等等。图像去水印应用200可以利用程序数据126中存储的数据进行操作,以实现图像去水印。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如手机、平板电脑、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。
图2示出了根据本发明一个实施例的图像去水印应用200的结构图。图像去水印应用200驻留在计算设备中,例如,图像去水印应用200可以作为搜索引擎的一个插件驻留在计算设备的浏览器中,或作为一个独立的软件安装于计算设备中。
如图2所示,图像去水印应用200包括:交互模块210、聚类模块220、修复模块230和融合模块240。
交互模块210适于获取用户对图像的涂抹轨迹,并根据涂抹轨迹确定图像的涂抹区和非涂抹区。涂抹区即为涂抹轨迹覆盖的图像区域,其余未被涂抹轨迹覆盖的区域即为非涂抹区。涂抹轨迹由用户针对图像水印做的涂抹操作而得出。当计算设备的输出设备为液晶显示器时,涂抹操作可以是用户点按、拖动鼠标的操作;当计算设备的输出设备为触摸屏时,涂抹操作为用户的交互手势。
图3A示出了根据本发明一个含水印的图像300的示意图(为了更加清晰地显示出水印部分,图3A中未示出图像300的背景色)。如图3A所示,图像300右下角的“@水印示例”即为水印310。图3B示出了用户对图像300进行涂抹后的示意图。如图3B所示,覆盖于水印310上方的白色矩形部分为用户的涂抹轨迹,相应地,涂抹轨迹覆盖的图像部分即为涂抹区320,白色矩形的黑色边框为涂抹区边界330。图像300的未被涂抹轨迹覆盖的区域为非涂抹区340。
图像中的每一个像素都可以表示为由其RGB值组成的三维向量,即,可以用三维数据点(r,g,b)来表示单个像素x,即,x=(r,g,b)。其中,r、g、b分别表示像素x的R、G、B值,r、g、b∈[0,255]。交互模块210根据涂抹轨迹确定涂抹区后,聚类模块220获取涂抹区中每一个像素的RGB值,然后采用聚类算法将涂抹区的像素聚成两类,并得到两个类中心。聚类算法有多种,例如k-means聚类算法、层次聚类算法、SOM神经网络聚类算法、FCM模糊聚类算法等,本领域技术人员可以根据实际情况选用,本发明对实现将涂抹区像素聚成两类的聚类算法不做限制。根据一种实施例,聚类模块220采用k-means聚类算法将涂抹区的像素聚成两类,得到两个类中心分别为C1=(r11,g11,b11)和C2=(r22,g22,b22)。
随后,聚类模块220分别计算两个类中心C1、C2到涂抹区边界的距离。根据一种实施例,类中心到涂抹区边界的距离为类中心到涂抹区边界上每一个像素的欧氏距离之和。例如,涂抹区边界上包括10个像素x1=(r1,g1,b1),x2=(r2,g2,b2),…,x10=(r10,g10,b10),则类中心C1、C2到涂抹区边界的距离D1、D2分别为:
当然,在以上描述中,涂抹区边界上包括10个像素仅是示例性的,根据不同的实际情况,涂抹区边界上可以包括不同数量的像素。上述例子仅是为了说明类中心到涂抹区边界的距离的计算方法。
在大多数情况下,涂抹区边界上的像素都不是水印像素,而是图像的正常像素,因此,距离涂抹区边界较近的类中心被认为是正常类的类中心,另一个则被认为是水印类的类中心。聚类模块220完成两个类中心到涂抹区边界的距离的计算之后,将到涂抹区边界的距离较小的类中心作为正常类的类中心,将到涂抹区边界的距离较大的类中心作为水印类的类中心。即,若D1<D2,则C1为正常类的类中心,C2为水印类的类中心;若D1>D2,则C2为正常类的类中心,C1为水印类的类中心。在实际应用中,一般不会出现D1=D2的情况。
随后,聚类模块220根据类中心将涂抹区周围的像素分为水印像素和正常像素。“涂抹区周围的像素”可以定义为到涂抹区边界的距离不超过20个像素的所有像素,也可以定义为到涂抹区边界的距离不超过30个像素的所有像素,在一种极端的情况下,涂抹区周围的像素也可以定义为所有非涂抹区的像素。“涂抹区周围的像素”的定义范围越大,去水印消耗的时间越长。此外,“涂抹区周围的像素”的定义范围也会影响去水印的效果。本领域技术人员可以根据实际情况自行设置“涂抹区周围的像素”的定义范围。
根据一种实施例,对于涂抹区周围的每一个像素,分别计算该像素到正常类的类中心和水印类的类中心的距离,若该像素到正常类的类中心的距离小于到水印类的类中心的距离,则该像素为正常像素;反之,则该像素为水印像素。根据一种实施例,像素到正常类的类中心的距离为该像素到正常类的类中心的欧氏距离,像素到水印类的类中心的距离为该像素到水印类的类中心的欧氏距离。例如,假设经过上述计算,确定C1为正常类的类中心,C2为水印类的类中心。对于涂抹区周围的某个像素m=(r12,g12,b12),分别计算该像素到C1、C2的欧氏距离d1、d2,其中,
若d1<d2,则像素m为正常像素;若d1>d2,则像素m为水印像素。在实际应用中,一般不会出现d1=d2的情况。
聚类模块220将涂抹区周围的像素分为水印像素和正常像素后,修复模块230对涂抹区进行修复,用非涂抹区的正常像素来替换涂抹区的水印像素。由于逐个替换水印像素的做法效率低,误差较大,因此在本发明中,修复模块230首先对图像进行分块。具体来说,围绕涂抹区的边界进行分块,将涂抹区边界周围的区域划分为至少一个第一区块,每个第一区块中均包括涂抹区的一部分像素和非涂抹区的一部分像素,将涂抹区周围的非涂抹区划分为多个第二区块,所述第二区块中的像素均为正常像素。根据一种实施例,第一区块的划分方法可以是,在涂抹区边界上选择一个尚未被分块的像素,以该像素为中心,做一个7*7的第一区块,这样在该第一区块中,自然有一部分像素属于涂抹区,一部分像素属于非涂抹区。当然,除上述方法之外,还可以采用其他的方法来实现第一区块的划分,本发明对第一区块的划分方法并无限制。
为了方便地替换第一区块中的像素,第一区块与第二区块的大小相同。根据一种实施例,当图像的大小为640*480时,将第一区块和第二区块的大小均设置为7*7,当图像的大小为其他尺寸时,可以对上述7*7的区块尺寸进行适当比例的扩大或缩小。当然,第一区块和第二区块还可以被设置为其他尺寸,本发明对第一区块和第二区块的大小并无限制。
经过分块,得到第一区块集合A和第二区块集合B,其中,第一区块集合A中包括至少一个第一区块,第二区块集合B中包括多个第二区块。对于每一个第一区块,计算该区块到第二区块集合B中每一个第二区块的相似距离。根据一种实施例,第一区块与第二区块的相似距离为两区块中非涂抹区像素的SSD(Sum of Squared Differences)距离,即第一区块的非涂抹区像素与第二区块中对应位置像素的欧氏距离之和。
图4示出了根据本发明一个实施例的第一区块与第二区块的示意图。如图4所示,第一区块p和第二区块q的大小均为7*7,即第一区块p和第二区块q均包括49个像素。在第一区块p中,前4行像素均为非涂抹区像素,后3行像素均为涂抹区像素。第二区块q中的所有像素均为非涂抹区的正常像素。第一区块和第二区块的SSD距离为:
其中,pij与qij(1≤i≤4,1≤j≤7)为两个区块中对应位置上的像素。prij、pgij、pbij分别为像素pij的R、G、B值,qrij、qgij、qbij分别为像素qij的R、G、B值。
对于每一个第一区块,计算该区块到第二区块集合B中每一个第二区块的相似距离后,用相似距离最小的第二区块中的各像素替换该第一区块中的各像素,并将该第一区块中的像素均标记为非涂抹区像素。例如,经过计算,在所有的第二区块中,第二区块q到第一区块p的SSD距离最小,则修复模块230用第二区块q中的各像素来替换第一区块p中的各像素,并将第一区块p中的像素均标记为非涂抹区像素。替换后的第一区块p与第二区块q的示意图如图5所示。当修复模块230完成所有第一区块像素的替换,并将所有第一区块中的像素标记为非涂抹区像素后,涂抹区边界也将改变,变得比原涂抹区边界的覆盖范围更小。修复模块230完成所有第一区块像素的替换后,融合模块240将所有第一区块与原非涂抹区(即修复模块230执行像素替换过程之前的非涂抹区)进行图像融合,使得修复后的涂抹区与背景图像的过渡更加自然。根据一种实施例,融合模块240采用泊松融合算法将所有第一区块与原非涂抹区进行图像融合。首先,将所有第一区块的边界像素的梯度设置为0,然后,对于每一个第一区块,根据边界像素的梯度和各像素的RGB值确定泊松方程,随后,求解泊松方程,得出融合后第一区块中各像素的RGB值。本领域技术人员可以意识到,将所有第一区块的边界像素的梯度设为0只是一种简单可行的做法,在实际应用中,也可以将边界像素的梯度设为一个较小的数值,或减小梯度较大的边界像素的梯度。根据泊松方程求解得出融合后的图像的技术是现有技术,具体过程可以参考PatrickPerez等人于2003年在《AcmTransactions on Graphics》期刊上发表的论文《Poisson image editing》,此处不再赘述。
应当指出,在经过上述修复模块230和融合模块240执行的首轮像素替换和融合的过程后,图像中可能还存在涂抹区(因为第一区块为围绕涂抹区边界进行分块的结果,当用户的涂抹轨迹覆盖的图像区域较大的时候,涂抹区覆盖的像素较多,仅围绕涂抹区边界进行的第一区块的划分可能使得涂抹区内部中心区域的像素未被纳入第一区块的范围)。因此,当上述修复模块230和融合模块240执行的步骤全部完成后,需要判断一下图像中是否还存在涂抹区像素。若图像中不存在涂抹区像素,则去水印过程结束。若图像中还存在涂抹区像素,则继续由修复模块230和融合模块240根据新的涂抹区边界来执行下一轮的像素替换和融合过程,直至图像中的涂抹区像素均被替换。因此,本发明中的去水印应用200适于沿着涂抹区边界到涂抹区中心的径向方向逐层去水印。
图6A示出了根据本发明一个实施例的图像去水印方法600的流程图。该方法在计算设备中执行。如图6A所示,该方法始于步骤S610。
在步骤S610中,获取用户对图像的涂抹轨迹。
随后,在步骤S620中,根据涂抹轨迹确定图像的涂抹区和非涂抹区。其中,涂抹区为被涂抹轨迹覆盖的图像区域,非涂抹区为未被涂抹轨迹覆盖的图像区域。
随后,在步骤S630中,获取涂抹区中每一个像素的RGB值,根据各像素的RGB值将涂抹区的像素分为正常类和水印类两类,并确定两个类的类中心。
根据一种实施例,根据各像素的RGB值,采用kmeans聚类算法将涂抹区的像素聚成两类,并得到两个类中心。分别计算两个类中心到涂抹区边界的距离,将到涂抹区边界的距离较小的类中心作为正常类的类中心,将到涂抹区边界的距离较大的类中心作为水印类的类中心。其中,类中心到涂抹区边界的距离为类中心到涂抹区边界上每一个像素的欧氏距离之和。
随后,在步骤S640中,根据类中心将涂抹区周围的像素分为水印像素和正常像素。根据一种实施例,对于涂抹区周围的每一个像素,分别计算该像素到正常类的类中心和水印类的类中心的距离,若该像素到正常类的类中心的距离小于到水印类的类中心的距离,则该像素为正常像素;反之,则该像素为水印像素。
随后,在步骤S650中,将涂抹区边界周围的区域划分为至少一个第一区块,将涂抹区周围的非涂抹区划分为多个第二区块。其中,每个第一区块中均包括涂抹区的一部分像素和非涂抹区的一部分像素,第二区块中的像素均为正常像素。根据一种实施例,第一区块与第二区块的大小相同。当图像的大小为640*480时,将第一区块和第二区块的大小均设置为7*7。
随后,在步骤S660中,对于每一个第一区块,计算该第一区块与各第二区块的相似距离,用与该第一区块相似距离最小的第二区块中的各像素替换该第一区块中的各像素,并将该第一区块中的像素均标记为非涂抹区像素。经过步骤S660,将产生新的涂抹区边界,新的涂抹区边界比原涂抹区边界的范围更小。
根据一种实施例,第一区块与第二区块的相似距离为两区块中非涂抹区像素的SSD距离,即第一区块的非涂抹区像素与第二区块中对应位置像素的欧氏距离之和。
随后,在步骤S670中,将所有第一区块与非涂抹区进行图像融合。
根据一种实施例,步骤S650~S670可以执行多次,直到涂抹区的像素均被替换。如图6B的去水印方法700所示,在步骤S670后,执行步骤S680,判断图像中是否存在涂抹区像素。若存在,则返回步骤S650,继续依次执行步骤S650~S670的像素替换和融合过程;若不存在,则去水印过程结束。也就是说,图6B所示的去水印方法700是一个沿着涂抹区边界到涂抹区中心的径向方向逐层去水印的方法。
根据一种实施例,采用泊松融合算法将所有第一区块与原非涂抹区进行图像融合。首先,将所有第一区块的边界像素的梯度设置为0,然后,对于每一个第一区块,根据边界像素的梯度和各像素的RGB值确定泊松方程,随后,求解泊松方程,得出融合后第一区块中各像素的RGB值。根据泊松方程求解得出融合后的图像的技术是现有技术,具体过程可以参考Patrick Perez等人于2003年在《Acm Transactions on Graphics》期刊上发表的论文《Poisson image editing》,此处不再赘述。
根据本发明提供的技术方案,将涂抹区的像素聚成两类,并确定两个类中心。将两个类中心中距涂抹区边界距离较小的作为正常类的类中心,距涂抹区边界距离较大的作为水印类的类中心,并根据正常类的类中心和水印类的类中心将涂抹区周围的像素分为水印像素和正常像素。在填充修复时,仅用正常像素来填充涂抹区,避免了利用水印去修复水印的恶性循环,提高了算法的稳定性,可以达到良好的去水印效果。本发明提供的去水印方法尤其适用于水印与背景图像在像素上有比较大的区分度的情况,因为这样使得聚类更加准确,相应地,去水印效果也更好。
此外,本发明采用泊松融合来融合填充后的涂抹区与背景图像,使得修复后的涂抹区与背景图像的过渡更加自然。
A6:A1所述的图像去水印方法,其中,所述第一区块和所述第二区块的大小相同。A7:A6所述的图像去水印方法,其中,当图像的大小为640*480时,将第一区块和第二区块的大小均设置为7*7。A8:A1所述的图像去水印方法,其中,第一区块与第二区块的相似距离为:第一区块的非涂抹区像素与第二区块中对应位置像素的欧氏距离之和。A9:A1所述的图像去水印方法,其中,所述将所有第一区块与非涂抹区进行图像融合的步骤进一步包括:将所有第一区块的边界像素的梯度设置为0;对于每一个第一区块,根据边界像素的梯度和各像素的RGB值确定泊松方程,求解泊松方程,得出融合后第一区块中各像素的RGB值。
B14:B13所述的图像去水印应用,其中,像素到正常类的类中心的距离为该像素到正常类的类中心的欧氏距离,像素到水印类的类中心的距离为该像素到水印类的类中心的欧氏距离。B15:B10所述的图像去水印应用,其中,所述第一区块和所述第二区块的大小相同。B16:B15所述的图像去水印应用,其中,当图像的大小为640*480时,将第一区块和第二区块的大小均设置为7*7。B17:B10所述的图像去水印应用,其中,第一区块与第二区块的相似距离为:第一区块的非涂抹区像素与第二区块中对应位置像素的欧氏距离之和。B18:B10所述的图像去水印应用,其中,所述融合模块进一步适于:将所有第一区块的边界像素的梯度设置为0;对于每一个第一区块,根据边界像素的梯度和各像素的RGB值确定泊松方程,求解泊松方程,得出融合后第一区块中各像素的RGB值。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种图像去水印方法,在计算设备中执行,该方法包括:
获取用户对图像的涂抹轨迹;
根据所述涂抹轨迹确定图像的涂抹区和非涂抹区,其中,所述涂抹区为被所述涂抹轨迹覆盖的图像区域,所述非涂抹区为未被所述涂抹轨迹覆盖的图像区域;
获取所述涂抹区中每一个像素的RGB值,根据各像素的RGB值将所述涂抹区的像素分为正常类和水印类两类,并确定两个类的类中心;
根据所述类中心将涂抹区周围的像素分为水印像素和正常像素;
将涂抹区边界周围的区域划分为至少一个第一区块,每个所述第一区块中均包括涂抹区的一部分像素和非涂抹区的一部分像素,将涂抹区周围的非涂抹区划分为多个第二区块,所述第二区块中的像素均为正常像素;
对于每一个第一区块,计算该第一区块与各第二区块的相似距离,用与该第一区块相似距离最小的第二区块中的各像素替换该第一区块中的各像素,并将该第一区块中的像素均标记为非涂抹区像素;
将所有第一区块与非涂抹区进行图像融合。
2.如权利要求1所述的图像去水印方法,其中,所述根据各像素的RGB值将所述涂抹区的像素分为正常类和水印类两类,并确定两个类的类中心的步骤进一步包括:
根据各像素的RGB值,采用kmeans聚类算法将所述涂抹区的像素聚成两类,并得到两个类中心;
分别计算两个类中心到涂抹区边界的距离,将到涂抹区边界的距离较小的类中心作为正常类的类中心,将到涂抹区边界的距离较大的类中心作为水印类的类中心。
3.如权利要求2所述的图像去水印方法,其中,类中心到涂抹区边界的距离为类中心到涂抹区边界上每一个像素的欧氏距离之和。
4.如权利要求1所述的图像去水印方法,其中,根据所述类中心将涂抹区周围的像素分为水印像素和正常像素的步骤进一步包括:
分别计算涂抹区周围的每一个像素到正常类的类中心和水印类的类中心的距离,若该像素到正常类的类中心的距离小于到水印类的类中心的距离,则该像素为正常像素;反之,则该像素为水印像素。
5.如权利要求4所述的图像去水印方法,其中,像素到正常类的类中心的距离为该像素到正常类的类中心的欧氏距离,像素到水印类的类中心的距离为该像素到水印类的类中心的欧氏距离。
6.一种图像去水印应用,驻留在计算设备中,该应用包括:
交互模块,适于获取用户对图像的涂抹轨迹,并根据所述涂抹轨迹确定图像的涂抹区和非涂抹区,其中,所述涂抹区为被所述涂抹轨迹覆盖的图像区域,所述非涂抹区为未被所述涂抹轨迹覆盖的图像区域;
聚类模块,适于获取所述涂抹区中每一个像素的RGB值,根据各像素的RGB值将所述涂抹区的像素分为正常类和水印类两类,并确定两个类的类中心;根据所述类中心将涂抹区周围的像素分为水印像素和正常像素;
修复模块,适于将涂抹区边界周围的区域划分为至少一个第一区块,每个所述第一区块中均包括涂抹区的一部分像素和非涂抹区的一部分像素,将涂抹区周围的非涂抹区划分为多个第二区块,所述第二区块中的像素均为正常像素;对于每一个第一区块,计算该第一区块与各第二区块的相似距离,用与该第一区块相似距离最小的第二区块中的各像素替换该第一区块中的各像素,并将该第一区块中的像素均标记为非涂抹区像素;
融合模块,适于将所有第一区块与非涂抹区进行图像融合。
7.如权利要求6所述的图像去水印应用,其中,所述聚类模块进一步适于:
根据各像素的RGB值,采用kmeans聚类算法将所述涂抹区的像素聚成两类,并得到两个类中心;
分别计算两个类中心到涂抹区边界的距离,将到涂抹区边界的距离较小的类中心作为正常类的类中心,将到涂抹区边界的距离较大的类中心作为水印类的类中心。
8.如权利要求7所述的图像去水印应用,其中,类中心到涂抹区边界的距离为类中心到涂抹区边界上每一个像素的欧氏距离之和。
9.如权利要求6所述的图像去水印应用,其中,所述聚类模块进一步适于:分别计算涂抹区周围的每一个像素到正常类的类中心和水印类的类中心的距离,若该像素到正常类的类中心的距离小于到水印类的类中心的距离,则该像素为正常像素;反之,则该像素为水印像素。
10.一种计算设备,包括如权利要求6-9中任一项所述的图像去水印应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610507337.0A CN106204424B (zh) | 2016-06-30 | 2016-06-30 | 图像去水印方法、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610507337.0A CN106204424B (zh) | 2016-06-30 | 2016-06-30 | 图像去水印方法、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106204424A true CN106204424A (zh) | 2016-12-07 |
CN106204424B CN106204424B (zh) | 2019-07-02 |
Family
ID=57462866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610507337.0A Active CN106204424B (zh) | 2016-06-30 | 2016-06-30 | 图像去水印方法、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106204424B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108010009A (zh) * | 2017-12-15 | 2018-05-08 | 北京小米移动软件有限公司 | 一种去除干扰图像的方法及装置 |
CN108109124A (zh) * | 2017-12-27 | 2018-06-01 | 北京诸葛找房信息技术有限公司 | 基于深度学习的不定位置图片水印修复方法 |
CN108320265A (zh) * | 2018-01-31 | 2018-07-24 | 努比亚技术有限公司 | 一种图像处理方法、终端及计算机可读存储介质 |
CN111145126A (zh) * | 2019-12-31 | 2020-05-12 | 陈文海 | 一种图像文字快速抹除方法 |
CN111277914A (zh) * | 2020-03-05 | 2020-06-12 | 山东三宏信息科技有限公司 | 帧序列处理方法、系统和存储介质 |
CN111754427A (zh) * | 2020-06-10 | 2020-10-09 | 天津大学 | 基于自组织映射神经网络的壁画裂缝病害自动修复方法 |
CN111754594A (zh) * | 2019-03-28 | 2020-10-09 | 谷歌有限责任公司 | 特征擦除 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930497A (zh) * | 2012-10-19 | 2013-02-13 | 西安电子科技大学 | 基于像素块奇偶校验和块误差分散的半调水印方法 |
JP2013153297A (ja) * | 2012-01-25 | 2013-08-08 | Hitachi Solutions Ltd | 潜像埋め込み処理の画質維持方法 |
CN105427228A (zh) * | 2015-10-29 | 2016-03-23 | 小米科技有限责任公司 | 照片水印处理方法及装置 |
-
2016
- 2016-06-30 CN CN201610507337.0A patent/CN106204424B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013153297A (ja) * | 2012-01-25 | 2013-08-08 | Hitachi Solutions Ltd | 潜像埋め込み処理の画質維持方法 |
CN102930497A (zh) * | 2012-10-19 | 2013-02-13 | 西安电子科技大学 | 基于像素块奇偶校验和块误差分散的半调水印方法 |
CN105427228A (zh) * | 2015-10-29 | 2016-03-23 | 小米科技有限责任公司 | 照片水印处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
子童: "图片去水印的"编外"技法", 《软网生活》 * |
王亮 等: "一种改进的二值图像像素标记算法", 《南京师范大学学报(工程技术板)》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108010009A (zh) * | 2017-12-15 | 2018-05-08 | 北京小米移动软件有限公司 | 一种去除干扰图像的方法及装置 |
CN108010009B (zh) * | 2017-12-15 | 2021-12-21 | 北京小米移动软件有限公司 | 一种去除干扰图像的方法及装置 |
CN108109124A (zh) * | 2017-12-27 | 2018-06-01 | 北京诸葛找房信息技术有限公司 | 基于深度学习的不定位置图片水印修复方法 |
CN108320265A (zh) * | 2018-01-31 | 2018-07-24 | 努比亚技术有限公司 | 一种图像处理方法、终端及计算机可读存储介质 |
CN108320265B (zh) * | 2018-01-31 | 2021-09-21 | 努比亚技术有限公司 | 一种图像处理方法、终端及计算机可读存储介质 |
CN111754594A (zh) * | 2019-03-28 | 2020-10-09 | 谷歌有限责任公司 | 特征擦除 |
CN111145126A (zh) * | 2019-12-31 | 2020-05-12 | 陈文海 | 一种图像文字快速抹除方法 |
CN111145126B (zh) * | 2019-12-31 | 2023-04-07 | 陈文海 | 一种图像文字快速抹除方法 |
CN111277914A (zh) * | 2020-03-05 | 2020-06-12 | 山东三宏信息科技有限公司 | 帧序列处理方法、系统和存储介质 |
CN111277914B (zh) * | 2020-03-05 | 2021-03-19 | 山东三宏信息科技有限公司 | 帧序列处理方法、系统和存储介质 |
CN111754427A (zh) * | 2020-06-10 | 2020-10-09 | 天津大学 | 基于自组织映射神经网络的壁画裂缝病害自动修复方法 |
CN111754427B (zh) * | 2020-06-10 | 2022-09-16 | 天津大学 | 基于自组织映射神经网络的壁画裂缝病害自动修复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106204424B (zh) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106204424A (zh) | 图像去水印方法、应用和计算设备 | |
CN111932564B (zh) | 图片识别方法、装置、电子设备及计算机可读存储介质 | |
US20190087549A1 (en) | Digital Image Processing for Element Removal and/or Replacement | |
CN111783982B (zh) | 攻击样本的获取方法、装置、设备及介质 | |
US20180286023A1 (en) | Digital Image Processing through use of an Image Repository | |
CN105930464B (zh) | Web富媒体跨屏适配方法和装置 | |
CN113034406A (zh) | 扭曲文档恢复方法、装置、设备及介质 | |
CN107832794A (zh) | 一种卷积神经网络生成方法、车系识别方法及计算设备 | |
CN107797752A (zh) | 书写笔迹的呈现方法及装置、交互智能平板及存储介质 | |
CN110046116A (zh) | 一种张量填充方法、装置、设备及存储介质 | |
CN110399847A (zh) | 关键帧提取方法、装置及电子设备 | |
CN110266994A (zh) | 一种视频通话方法、视频通话装置及终端 | |
CN110248255A (zh) | 一种字幕显示方法、字幕显示装置及终端 | |
CN104301628A (zh) | 对图像进行动态模糊的方法、装置和电子设备 | |
CN109065001B (zh) | 一种图像的降采样方法、装置、终端设备和介质 | |
CN107978018A (zh) | 立体图形模型的构建方法、装置、电子设备及存储介质 | |
CN106131533A (zh) | 一种图像显示方法和终端 | |
CN111932563B (zh) | 图片区域分割方法、装置、电子设备及存储介质 | |
CN109718554A (zh) | 一种实时渲染方法、装置及终端 | |
CN106095241A (zh) | 一种Web应用的窗口显示方法、装置及计算设备 | |
CN116680580A (zh) | 基于多模态训练的信息匹配方法、装置、电子设备及介质 | |
CN105378798B (zh) | 用于几何图形的抗混叠 | |
CN109559319A (zh) | 一种法线贴图的处理方法及终端 | |
CN115934230A (zh) | 显示适配方法、装置、计算机可读存储介质及电子设备 | |
US20170161874A1 (en) | Method and electronic apparatus for processing image data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |