Python实现处理图片水印的方法详解

 更新时间:2022年11月01日 14:14:25   作者:小小小小能  
这篇文章主要为大家详细介绍了如何利用Python实现处理图片水印的相关资料,主要是实现图片水印的去除效果,感兴趣的小伙伴可以尝试一下

原图: 

去水印后:

程序非常简单,首先读取图片后,转为HSV通道图像。

image = cv2.imread("watermark.png")
 
HSV = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

参考文末补充内容获取水印处的HSV值的范围

我这张图片的水印HSV值大概范围是

背景HSV值为

黑色正文部分HSV值为

于是: 

mask = cv2.inRange(HSV, (0, 0, 195), (0, 0, 255))
cv2.imshow("mask", mask)

结束!!

处理后文字有点锯齿状,试了图像增强矫正和图像平滑处理效果都不明显(原图有些模糊也是原因之一)

如果有好的方法,麻烦教一教我!谢谢!

完整代码

import cv2
 
image = cv2.imread(r"watermark.png")
 
HSV = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# cv2.imshow("HSV", HSV)
 
mask = cv2.inRange(HSV, (0, 0, 195), (0, 0, 255))
cv2.imshow("mask", mask)
 
cv2.imwrite('watermark-result.png', mask)
cv2.waitKey(0)

补充

用python和opencv定义鼠标点击事件获取图片各个位置的HSV值(附代码)

效果如下,鼠标左键点击图片中任意位置显示该点的HSV值。

源代码:

import cv2
 
# 读取图片
image = cv2.imread(r"./images/screenshot/target_open.jpg")
 
# 转为HSV图
HSV = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
 
# 定义一个鼠标左键按下去的事件
def getpos(event, x, y, flags, param):
    if event == cv2.EVENT_LBUTTONDOWN:
        print(HSV[y, x])
 
# cv2.imshow('image', image)
cv2.imshow("imageHSV", HSV)
 
cv2.setMouseCallback("imageHSV", getpos)
cv2.waitKey(0)

到此这篇关于Python实现处理图片水印的方法详解的文章就介绍到这了,更多相关Python处理图片水印内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 实现自动远程登陆scp文件实例代码

    python 实现自动远程登陆scp文件实例代码

    这篇文章主要介绍了python 实现自动远程登陆scp文件实例代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • python程序 创建多线程过程详解

    python程序 创建多线程过程详解

    这篇文章主要介绍了python程序 创建多线程过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • python绘制地震散点图

    python绘制地震散点图

    这篇文章主要为大家详细介绍了python绘制地震散点图的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 在pyqt5中展示pyecharts生成的图像问题

    在pyqt5中展示pyecharts生成的图像问题

    本文通过一个实际的散点图案例,展示了如何使用pyqt5嵌套一个pyecharts图层的方法,通过这个技巧,可以在pyqt5的框架中也实现精美的数据可视化的功能模块,感兴趣的朋友一起看看吧
    2022-01-01
  • python sleep和wait对比总结

    python sleep和wait对比总结

    在本篇文章里小编给大家整理的是一篇关于python sleep和wait对比总结内容,对此有兴趣的朋友们可以学习下。
    2021-02-02
  • 使用Python删除PPT中所有超链接的操作步骤

    使用Python删除PPT中所有超链接的操作步骤

    在某些PPT使用场景中,比如需要打印幻灯片或者超链接已失效时,演示文稿中的超链接可能会成为一种干扰,这时我们需要移除PowerPoint演示文稿中的超链接,本文将介绍如何使用Python删除PowerPoint演示文稿中的所有超链接,需要的朋友可以参考下
    2024-08-08
  • 使用Python快速制作可视化报表的方法

    使用Python快速制作可视化报表的方法

    今天小编就为大家分享一篇使用Python快速制作可视化报表的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Mac中pyenv的安装与使用教程

    Mac中pyenv的安装与使用教程

    pyenv支持linux下python多版本的共存和版本之间切换,非常方便,下面这篇文章主要给大家介绍了关于Mac中pyenv安装与使用的相关资料,需要的朋友可以参考下
    2022-02-02
  • 写一个Python脚本下载哔哩哔哩舞蹈区的所有视频

    写一个Python脚本下载哔哩哔哩舞蹈区的所有视频

    B 站大家都熟悉,尤其是它的舞蹈区.有 100W+ 的舞蹈视频.在没有 wifi 的情况下,就欣赏不了这些视频了.作为一个 python 程序员,小编就写一个 Python 脚本在晚上下载舞蹈区的所有视频,需要的朋友可以参考下
    2021-05-05
  • python中实现将多个print输出合成一个数组

    python中实现将多个print输出合成一个数组

    下面小编就为大家分享一篇python中实现将多个print输出合成一个数组,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论