微信 394467238
上一篇文章尝试自己写了一种图片去水印的方法,后来处理视频的时候发现还是会存在一些问题。
文章链接为:lonlon ago:视频去水印的Python代码
这篇文章的方法是先得到水印的mask,然后对mask内部的点随机挑选附近的点替换,存在的问题是有些部分会出现白噪音一样的区域,所以后续我又做了一些其他方法的尝试,这篇文章对比下这些方法的效果。
1 随机挑选附近点替换水印
2 OpenCV的inpaint 方法
3 随机挑选附近区域替换水印
4 通过插值替换水印
5 黑盒子魔法
原图如下:
多张合成得到的mask图片如下,到这一步为止还是很成功的:
- 随机替换附近点方法,效果不好的图片如下:
放大效果不好的区域,红色框中的水印替换为白噪音一样的点,失去了物体的轮廓:
2. OpenCV的inpaint 方法的效果,感觉就是水印的部分整体变透明了,但是任然可以看见水印的痕迹:
放大看效果:
3. 随机挑选附近区域替换水印的方法,初步想法是随机点会导致白噪音一样的效果,并且没有轮廓,那么随机挑选区域替换应该会好一些,但是实际上效果也不行,出现了另外的问题,会出现马赛克一样的效果:
放大看效果不好的区域:
4. 通过插值替换水印的方法,理论上来说,他得到的结果应该是最平滑最理想的,实际上也不尽如人意
放大看效果,感觉就像是被均匀涂抹的水印,效果也不好,问题可能出在插值的范围过大,导致无法进行有效的插值:
5. 黑盒子魔法,效果完爆上面一众尝试
放大看也不虚