Python OpenCV去除图片水印
问题描述
去除百度水印
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
效果
参考文献
- Python OpenCV裁剪并保存图片
- 用python+OpenCV去除图片水印
- 两种Python基于OpenCV的固定位置半透明水印去除方案
- Python与机器视觉(x)图像修复
- 如何利用深度学习技术处理图像水印?
- 写给普通人用的的深度学习去水印算法
- 使用深度学习去除复杂图像水印,效果好过photoshop!
- 利用Python去除图片水印
Python OpenCV去除图片水印相关推荐
- 教你一招利用Python快速去除图片水印
大家好,我是IT界搬运工. 相信大家都有在网上下载好图片但是有水印的烦恼,那么问题就来了:看到心爱的图片想要"占为己有".怎么把图片上的水印去除呢?今天我就来教你一招利用Pytho ...
- 1行Python代码去除图片水印,网友:一干二净
大家好,这里是程序员晚枫. 最近小明在开淘宝店(店名:爱吃火锅的少女),需要给自己的原创图片加水印,于是我上次给她开发了增加水印的功能:图片加水印,保护原创图片,一行Python代码搞定. 今天在后台 ...
- Python利用OpenCV去除图片水印
点击上方"何俊林",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 这两天公司来了一个新的需求--去除水印,对于我一个从未接触过的这种事情的人来说,当时我是蒙的.不过首先我 ...
- python 去除水印_python 利用opencv去除图片水印
$(function () { changeIndReadCommentStyle(); //返回顶部 $('#back-to-top').click(function (e) { $('html,b ...
- matlab去除图片水印_Python利用OpenCV去除图片水印
点击上方"何俊林",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 这两天公司来了一个新的需求--去除水印,对于我一个从未接触过的这种事情的人来说,当时我是蒙的.不过首先我 ...
- python opencv去图片水印
本文转载自:http://blog.csdn.net/androidmylove/article/details/41960111 背景] 最近有一个需要为图片去水印的需求,于是各种折腾开始. [背景 ...
- python一键去除图片水印,含简单可视化界面
#!/usr/bin/env python # -*- encoding: utf-8 -*- ''' [url=home.php?mod=space&uid=267492]@file[/ur ...
- python opencv去除简易水印——去除红色效果最好
去水印是个麻烦事,水印的方式千奇百怪,下面的方法并不一定适用你. opencv去图片中红色部分,保留其他 这个方式需要你的图像水印比较简单,且为纯色的红色. 效果图 原图 处理结果图 代码 impor ...
- opencv去除图片水印
效果图胜过文字说明 处理前 处理后 代码部分: #include <iostream> #include<opencv2\opencv.hpp> #include <op ...
最新文章
- 主流Java数据库连接池比较及前瞻
- 面向对象的几大设计原则
- OPenGL程序导致WM_TIMER消息不能激发
- python缩写词_如果连这10个Python缩写都不知道,那你一定是Python新手!
- 【计算机组成原理】虚拟存储器和Cache的比较
- 通过Repository Manager 1.3来管理戴尔驱动程序更新
- python 返回列表中的偶数
- 【Hive】Hive内部表/外部表
- Leetcode 746.使用最小花费爬楼梯
- 机器学习中特征空间、欧式空间、希尔伯特空间以及特征空间
- 本科三本的计算机博士,读书中的我 从三本本科到985博士
- Unity颜色转换(HtmlString和Color)
- html自动轮播计时器不准,自己做的jQuery轮播图,大家帮忙看一下,能自动轮播,定时器,点击按钮不起用...
- CYK 算法 Python 实现
- C++ 网络编程下的socket编程(TCP\UDP),连接下位机
- Ubuntu 22.04 无法使用网易云音乐
- 众昂矿业:含氟聚合物被广泛运用于新能源锂电池生产
- 最好的日子,是用心在一人一事
- 十句让生活更美好的英语箴言
- Guitar Pro7最新版发布 吉他编谱首选
热门文章
- Weex 在双11会场的大规模应用
- Linux2.6--中断机制中的 ksoftirqd
- 爬取大众点评网页端店铺评论
- 使用ffmpeg调整图像大小
- Linux系统引导过程及排除启动故障
- 大疆 芯片开发 面经
- CG Tools 工具收集
- 与android虚拟机传输文件,android 在本机和虚拟机设备之间复制文件
- “../28004x_generic_ram_lnk.cmd“,遇到RAM内存不够,需重新配置。
- Android设置应用数字角标