问题描述

去除百度水印

1.jpg,背景简单

2.jpg,背景复杂

解决方案

安装

pip install opencv-python
pip install numpy

方法一、OpenCV提取颜色后填充

RGB取值范围为0-255

HSV取值范围为H:0-180, S: 0-255, V: 0-255

代码

import cv2
import numpy as np# 读取图片
img = '1.jpg'
img = cv2.imread(img)
cv2.imshow('original', img)# 选择ROI
roi = cv2.selectROI(windowName="original", img=img, showCrosshair=True, fromCenter=False)
x, y, w, h = roi
print(roi)
roi = img[y:y + h, x:x + w]
cv2.imshow('1', roi)# 处理蓝色
lowerb = np.array([100, 25, 35])  # 蓝色下限
upperb = np.array([125, 255, 255])  # 蓝色上限
roi_hsv = cv2.cvtColor(roi, cv2.COLOR_BGR2HSV)  # BGR转HSV,处理更精确
mask_blue = cv2.inRange(roi_hsv, lowerb, upperb)  # 蒙版
kernel = np.ones((3, 3), np.uint8)  # 卷积核
mask_blue = cv2.dilate(mask_blue, kernel, iterations=1)  # 膨胀
roi = cv2.inpaint(roi, mask_blue, 5, flags=cv2.INPAINT_TELEA)  # 重绘
cv2.imshow('2', roi)# 处理红色
lowerb = np.array([0, 5, 1])
upperb = np.array([225, 255, 255])
roi_hsv = cv2.cvtColor(roi, cv2.COLOR_BGR2HSV)
mask_red = cv2.inRange(roi_hsv, lowerb, upperb)
mask_red = cv2.dilate(mask_red, kernel, iterations=1)
roi = cv2.inpaint(roi, mask_red, 5, flags=cv2.INPAINT_TELEA)
cv2.imshow('3', roi)# 重新填充
img[y:y + h, x:x + w] = roi
cv2.imshow('after', img)# 退出
cv2.waitKey(0)
cv2.destroyAllWindows()

效果


优点:原理简单
缺点:背景复杂不适用,且需要手动调颜色上下限
适用:背景简单且为纯色

TODO:方法二、NumPy截取范围值


效果

TODO:方法三、PIL + itertools


效果

参考文献

  1. Python OpenCV裁剪并保存图片
  2. 用python+OpenCV去除图片水印
  3. 两种Python基于OpenCV的固定位置半透明水印去除方案
  4. Python与机器视觉(x)图像修复
  5. 如何利用深度学习技术处理图像水印?
  6. 写给普通人用的的深度学习去水印算法
  7. 使用深度学习去除复杂图像水印,效果好过photoshop!
  8. 利用Python去除图片水印

Python OpenCV去除图片水印相关推荐

  1. 教你一招利用Python快速去除图片水印

    大家好,我是IT界搬运工. 相信大家都有在网上下载好图片但是有水印的烦恼,那么问题就来了:看到心爱的图片想要"占为己有".怎么把图片上的水印去除呢?今天我就来教你一招利用Pytho ...

  2. 1行Python代码去除图片水印,网友:一干二净

    大家好,这里是程序员晚枫. 最近小明在开淘宝店(店名:爱吃火锅的少女),需要给自己的原创图片加水印,于是我上次给她开发了增加水印的功能:图片加水印,保护原创图片,一行Python代码搞定. 今天在后台 ...

  3. Python利用OpenCV去除图片水印

    点击上方"何俊林",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 这两天公司来了一个新的需求--去除水印,对于我一个从未接触过的这种事情的人来说,当时我是蒙的.不过首先我 ...

  4. python 去除水印_python 利用opencv去除图片水印

    $(function () { changeIndReadCommentStyle(); //返回顶部 $('#back-to-top').click(function (e) { $('html,b ...

  5. matlab去除图片水印_Python利用OpenCV去除图片水印

    点击上方"何俊林",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 这两天公司来了一个新的需求--去除水印,对于我一个从未接触过的这种事情的人来说,当时我是蒙的.不过首先我 ...

  6. python opencv去图片水印

    本文转载自:http://blog.csdn.net/androidmylove/article/details/41960111 背景] 最近有一个需要为图片去水印的需求,于是各种折腾开始. [背景 ...

  7. python一键去除图片水印,含简单可视化界面

    #!/usr/bin/env python # -*- encoding: utf-8 -*- ''' [url=home.php?mod=space&uid=267492]@file[/ur ...

  8. python opencv去除简易水印——去除红色效果最好

    去水印是个麻烦事,水印的方式千奇百怪,下面的方法并不一定适用你. opencv去图片中红色部分,保留其他 这个方式需要你的图像水印比较简单,且为纯色的红色. 效果图 原图 处理结果图 代码 impor ...

  9. opencv去除图片水印

    效果图胜过文字说明 处理前 处理后 代码部分: #include <iostream> #include<opencv2\opencv.hpp> #include <op ...

最新文章

  1. 主流Java数据库连接池比较及前瞻
  2. 面向对象的几大设计原则
  3. OPenGL程序导致WM_TIMER消息不能激发
  4. python缩写词_如果连这10个Python缩写都不知道,那你一定是Python新手!
  5. 【计算机组成原理】虚拟存储器和Cache的比较
  6. 通过Repository Manager 1.3来管理戴尔驱动程序更新
  7. python 返回列表中的偶数
  8. 【Hive】Hive内部表/外部表
  9. Leetcode 746.使用最小花费爬楼梯
  10. 机器学习中特征空间、欧式空间、希尔伯特空间以及特征空间
  11. 本科三本的计算机博士,读书中的我 从三本本科到985博士
  12. Unity颜色转换(HtmlString和Color)
  13. html自动轮播计时器不准,自己做的jQuery轮播图,大家帮忙看一下,能自动轮播,定时器,点击按钮不起用...
  14. CYK 算法 Python 实现
  15. C++ 网络编程下的socket编程(TCP\UDP),连接下位机
  16. Ubuntu 22.04 无法使用网易云音乐
  17. 众昂矿业:含氟聚合物被广泛运用于新能源锂电池生产
  18. 最好的日子,是用心在一人一事
  19. 十句让生活更美好的英语箴言
  20. Guitar Pro7最新版发布 吉他编谱首选

热门文章

  1. Weex 在双11会场的大规模应用
  2. Linux2.6--中断机制中的 ksoftirqd
  3. 爬取大众点评网页端店铺评论
  4. 使用ffmpeg调整图像大小
  5. Linux系统引导过程及排除启动故障
  6. 大疆 芯片开发 面经
  7. CG Tools 工具收集
  8. 与android虚拟机传输文件,android 在本机和虚拟机设备之间复制文件
  9. “../28004x_generic_ram_lnk.cmd“,遇到RAM内存不够,需重新配置。
  10. Android设置应用数字角标