当前位置: 首页 > 网络应用技术

使用python去除图像水印,只需手

时间:2023-03-08 23:44:38 网络应用技术

  一些学生问,因为Python太棒了,您能否不使用Python删除水印方法?

  一定有这个,但是由于有很多类型的图片水印,所以今天我们谈论最简单的图像。

  也就是说,上图中的①类水印。这种水印在白色背景上有文件。水印是灰色的,需要保留的文本是黑色的。

  通常可以通过简单的亮度/对比度转换,直到水印消失并降低亮度以补偿[1]。与其他人的方法有关,我发现可以通过多种方法去除水印。一般原则相似。让我们先谈谈OpenCV。

  需要在此方法中使用的库:CV2,numpy.cv2是基于OpenCV的图像处理库,可以腐蚀图像和扩展操作;Numpy是处理矩阵和维度操作的强大数据库。

  介绍CV2的三个基本功能:使用,您可以分别读取,显示和保存图像。

  对于Numpy,它被使用。它是一种截距函数,用于拦截小型或小或大于阵列的一定值,并使截距的部分等于固定值。

  特定用法:

  可以看出,数组x中的所有数字都限于0到5之间。为什么要引入这些功能,然后向下看。

  回到本文的开头,我们想删除文档图片中的水印。

  在上图中,我选择了三个点。这三个像素对应于白色,黑色字体和灰色水印。

  我们现在要做的是找到一种将水印转换为白色背景的方法。换句话说,图片中[217,217,217]的像素被转换为[255,255,255]。

  当然,这个[217,217,217]不是固定的,只是一个范围。为了方便调整,我选择了一些像素并进行了线性回归。

  希望图片的整体像素颜色已更改。原始的黑色字体应与原始字体一样一致,而水印部分必须≥255,然后有限的间隔可以使其[255,255,255]。

  去做就对了

  让我们看一下调整后的效果(左侧是转换之前,右侧是转换后)。

  左:转换之前:转换后

  处理效果仍然很好,表明对于这种文档图片水印,可以通过几行Python代码轻松去除水印。

  但是,通过线性回归更改整体图片的颜色也会影响原始的黑色文本,从而导致颜色稍微改变。

  我们可以更简单和粗鲁!水印的颜色呢?

  您也可以尝试。

  PIL也是Python图像处理库。其中,图像模块是python pil图像处理中的一个通用模块。图像的基本操作的功能基本上包含在此模块中。

  它以前被称为python构建的-in库。它们用于生成多个列表和迭代器(累积)。

  尽管如此,我们还是希望将图片中[217,217,217]的像素转换为[255,255,255]。

  然后,它更简单和粗鲁,即,像素值的像素值约为600(217+217+217)或更高版本,将其更改为[255,255,255]。

  运行结果,比较。

  左:转换之前:转换后

  与第一种方法相比,肉眼看不到太明显。

  然后每个人都喜欢这种方法!

  我们的文章在这里。如果您对水印感兴趣,则可以在实际战斗中使用它。如果您敲打代码,您将获得更深入的体验。