由于爬虫抓到了各种各样的文章,避免不了要处理文章中存在的图片,现在大家都追短视频去了,如果文字再不配成图文就更没人看了,这也正常。但是这样抓下来的图片多数都包含原站点的水印,如何把这些图片上的水印去掉,同时添加上自己站点的水印就是迫切需要解决的问题。
我之前解决的方法比较暴力,就是制作一张水印图片,然后找出原站水印图片存在的规律,直接把自己水印图片透明度做的更低,尺寸比它原图上的水印图片大,就是很硬性的覆盖,虽然体验不太好,但是图片一般在图文结构的文章中都是点缀作用,也没有实质性的图解或者剖清、解析事物的意义,所以这么做也无可厚非。但是ai
时代,我搞了很多文章已经依赖于nlp(自然语言处理)
的知识,帮我粗粒度的解决了文本分类、推荐系统、翻译系统的问题,而人工智能在视觉领域是一直在取得突破的,比如说现在各公司广泛使用的人脸识别用于上班打卡、公共交通运输上使用人脸扫描技术加快人员检票时间、自动驾驶技术就更是视觉智能广泛使用的领域,所以,有这些有力的佐证,相信去除水印这种小事情在现在科技发展的程度上应该很容易解决了,所以近期就又抽出时间寻找这一问题更优的解法。
先汇报一下这次冲塔的成果:
opencv-python
这个包,依赖于封装的inpaint
方法,成功完成了水印图片的处理,效果也是蛮好的,但是要提前生成通道图mask
。
mask
,最终水印去除成功,但是效率没有第1条的好,这个估计采用模型调参,进一步优化视觉训练模型,估计处理的效果更好,暂时没空做这个。
photoshop
在水印上取色,指定相对精准的水印图片色域变化范围,结果是水印去除不彻底,同时图片上相同色相的部分被误删。我后面总结过,用photoshop
取的范围可能只是某几个点位上的色彩RGB
取值,无法完全覆盖,同时,这个水印与背影颜色色差不明显,因此也损害了原图。
由于我要处理的站点图片数量庞大,因此实战时候,并没有采用上述方法,因为效率都比较低。如果你想实践的话,我也推荐你使用opencv-python
包的inpaint
方法,先生成通道图,再用通道图定位精准移除,效果当然还可以,但是生成通道图,目前还没有实践出完全不需要人工干预的方法,差异只是生成通道图过程中,人为介入工作量的大小,可想而知,对于我要处理的图片体量,这样的人工成本我是无法投入的,如果你感兴趣我用的是什么方法,欢迎给我留言。