批量去水印技术原理(以我的衣橱为例,给老赵找找麻烦)-阿里云开发者社区

开发者社区> 人工智能> 正文

批量去水印技术原理(以我的衣橱为例,给老赵找找麻烦)

简介:

批量去水印是个邪恶的技术,以老赵的衣橱为例子就更邪恶了。之所以以衣橱为例子而不以时尚网为例子,是标题需要。实际上,时尚网的水印批量去除效果更佳。闲话少说,摆原理,上图片(代码就不上了)。

======================================

通过观察可以发现,如果以图片的右下角为基准,很多网站图片的水印位置是固定的,因此,可以通过以下步骤去除:

第一步:制定一张mask图片,这张图片标记了水印的位置。

mask图片可以用photoshop或其它工具做。我最初的想法是让程序智能提取,输入两张带有水印的图片,根据水印区域相似性来找到水印区。这个思路实现起来比较难,试了几个方法,都不理想。还是用photoshop扣掉非水印区域省心。

下面是我做的“衣橱”的mask图片,其中非白色的像素便是水印区:

mask2

第二步:对于要去水印的图片,根据mask图片,通过程序抠掉其中的水印区域。这一步可以省略,抠不抠都不影响最终结果。放在这里是为了把原理讲的更清晰些。经过第二步,我们得到了一张局部残缺的图片。

第三步:图片复原。图片复原是一种图像处理技术,英文叫Image Inpainting。原理很复杂,网上的论文大把抓,有兴趣的可以去看看。

我用的是OpenCV的图像复原函数。先看看OpenCV图像复原的演示,对这个技术有个直观认识。这是一张残缺的照片:

image

复原后的照片:

image

效果很棒。:P

我按上面思路写了一个 demo,拿老赵的衣橱做实验,结果如下:

image

换张图片试试:

image

再换张:

image

水印去掉了,复原后的图片,仔细看,还能看出痕迹。mask模板再制作精良点,选择更好的算法估计效果会好一些。

本文转自xiaotie博客园博客,原文链接http://www.cnblogs.com/xiaotie/archive/2009/12/19/1627669.html如需转载请自行联系原作者


xiaotie 集异璧实验室(GEBLAB)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

其他文章