精华内容
下载资源
问答
  • python去水印

    2021-09-22 16:10:01
    import cv2 def get_water(): # 黑底白字 src = cv2.imread(‘1.png’) # 默认的彩色图(IMREAD_COLOR)方式读入原始图像 # black.jpg mask = cv2.imread(‘2.png’, cv2.IMREAD_GRAYSCALE) # 灰度图(IMREAD_GRAYSCALE...

    import cv2

    def get_water():
    # 黑底白字
    src = cv2.imread(‘1.png’) # 默认的彩色图(IMREAD_COLOR)方式读入原始图像
    # black.jpg
    mask = cv2.imread(‘2.png’, cv2.IMREAD_GRAYSCALE) # 灰度图(IMREAD_GRAYSCALE)方式读入水印蒙版图像
    # 参数:目标修复图像; 蒙版图(定位修复区域); 选取邻域半径; 修复算法(包括INPAINT_TELEA/INPAINT_NS, 前者算法效果较好)
    dst = cv2.inpaint(src, mask, 3, cv2.INPAINT_NS)

    cv2.imwrite('result1.jpg', dst)
    

    get_water()
    在这里插入图片描述
    需要配合一张水印蒙版图像
    在这里插入图片描述
    效果
    在这里插入图片描述

    展开全文
  • python 去水印复杂问题

    2021-07-26 09:31:35
    单色图片去水印,问题不大 当遇到多色水印图片,工作量来了,而且不一定去除,头大了 直接看代码 # -*- coding: utf-8 -*- # @Time : 2020/07/11 16:50 # @Author : import time import cv2 as cv import numpy as...

    废话不多说,直接开干!

    单色图片去水印,问题不大
    当遇到多色水印图片,工作量来了,而且不一定去除,头大了

    直接看代码

    # -*- coding: utf-8 -*-
    # @Time    : 2020/07/11 16:50
    # @Author  :白大米66
    import time
    
    import cv2 as cv
    import numpy as np
    from os.path import splitext
    from itertools import product
    from PIL import Image
    
    
    
    
    class 
    展开全文
  • python 去水印

    2021-11-25 20:39:39
    /usr/bin/env python # -*- encoding: utf-8 -*- from os import path from tkinter import (BOTH, BROWSE, EXTENDED, INSERT, Button, Frame, Label, Text, Tk, filedialog, mainloop, messagebox) from PIL ...
    #!/usr/bin/env python
    # -*- encoding: utf-8 -*-
    
    from os import path
    from tkinter import (BOTH, BROWSE, EXTENDED, INSERT, Button, Frame, Label,
                         Text, Tk, filedialog, mainloop, messagebox)
    from PIL import Image, ImageTk
     
    class Remove_watermark():
        def __init__(self) -> None:
     
            self.root = Tk()
            self.root.title("去水印")
            x = (self.root.winfo_screenwidth() - self.root.winfo_reqwidth()) // 4
            y = (self.root.winfo_screenheight() - self.root.winfo_reqheight()) // 4
            self.root.geometry(f"{x}x{y}")
            self.frame = Frame(self.root).grid(row=0, column=0)
            self.old_pic_frame = Frame(self.root).grid(row=1, column=0)
            self.new_pic_frame = Frame(self.root).grid(row=1, column=1)
            self.width = 10
            btn_open = Button(self.frame, text="打开图片", width=self.width, height=1, command=self.open_pic,).grid(
                row=0, column=0)  #
            label_white = Label(self.frame, text="", height=1, width=self.width).grid(
                row=0, column=1)
            btn_process = Button(self.frame, text="去图片水印", width=self.width, height=1, command=self.process,).grid(
                row=0, column=2)  #
            label_white = Label(self.frame, text="", height=1, width=self.width).grid(
                row=0, column=3)
            btn_process = Button(self.frame, text="去文档水印", width=self.width,
                                 height=1, command=self.process_all,).grid(row=0, column=4)
     
        def open_pic(self):
            global img
            self.screenwidth = self.root.winfo_screenwidth()
            self.screenheight = self.root.winfo_screenheight()
            self.root.geometry(
                f"{self.screenwidth}x{self.screenheight}+0+0")
            self.filepath = filedialog.askopenfilename(title='选择图片', filetypes=[
                ('图片', ['*.jpg', '*.png', '*.gif'])])
            img_open = Image.open(fp=self.filepath).convert("RGB")
            self.img_width, self.img_height = img_open.size
            print(self.img_width, self.img_height)
            self.rate = self.img_width / self.img_height
            # 如果图片高度过高则进行缩小
            if self.img_height > self.screenheight * 0.5:
                width = int(0.5 * self.screenwidth)
                height = int(width / self.rate)
                img = ImageTk.PhotoImage(
                    image=img_open.resize(size=(width, height)))
            else:
                img = ImageTk.PhotoImage(img_open)
            label_img = Label(self.old_pic_frame, image=img).grid(row=1, column=1)
     
        def process(self):
            """处理水印"""
            global new_img
            im = Image.open(self.filepath).convert("RGB")
            right_bottom = 4  # 右下角水印位置
            for w in range(0, self.img_width):
                for h in range(0, self.img_height):
                    pos = (w, h)
                    if sum(im.getpixel(pos)[:3]) > 600:
                        im.putpixel(pos, (255, 255, 255))
            new_pic_path = path.dirname(
                self.filepath) + "/去水印_" + path.basename(self.filepath)
            im.save(new_pic_path)
            img_open = Image.open(fp=new_pic_path)
            # 如果图片高度过高则进行缩小
            if self.img_height > self.screenheight * 0.5:
                width = int(0.5 * self.screenwidth)
                height = int(width / self.rate)
                new_img = ImageTk.PhotoImage(
                    image=img_open.resize(size=(width, height)))
            else:
                new_img = ImageTk.PhotoImage(img_open)
     
            label_img_new = Label(self.new_pic_frame, image=new_img).grid(
                row=1, column=2)
            messagebox.showinfo('温馨提示', "已去除水印,文件保存同文件下!")
     
        def process_all(self):
            global new_img
            im = Image.open(self.filepath).convert("RGB")
            width, height = im.size
     
            for w in range(width):
                for h in range(height):
                    pos = (w, h)
                    r, g, b = im.getpixel(pos)[:3]
                    avg = (r + g + b) / 3
                    limit = 0.10
                    if avg > 100 and abs((r-avg)/avg) < limit and abs((g-avg)/avg) < limit and abs((b-avg)/avg) < limit:
                        im.putpixel(pos, (255, 255, 255))
            new_pic_path = path.dirname(
                self.filepath) + "/去水印_" + path.basename(self.filepath)
            im.save(new_pic_path)
            img_open = Image.open(fp=new_pic_path).convert("RGB")
     
            # 如果图片高度过高则进行缩小
            if self.img_height > self.screenheight * 0.5:
                width = int(0.5 * self.screenwidth)
                height = int(width / self.rate)
                new_img = ImageTk.PhotoImage(
                    image=img_open.resize(size=(width, height)))
            else:
                new_img = ImageTk.PhotoImage(img_open)
            label_img_new = Label(
                self.new_pic_frame, image=new_img).grid(row=1, column=2)  # , columnspan=3,sticky="EW",
            messagebox.showinfo('温馨提示', "已去除水印,文件保存同文件下!")
     
     
    if __name__ == "__main__":
        main = Remove_watermark()
        img = None
        new_img = None
        mainloop()
    
    展开全文
  • python抖音去水印源码,自己用源码编写的,真实可用!时间为2019年10月底写的,最新!!!后台程序,源码,没有打包,本代码仅作为学习交流使用!
  • 前言 ...今天我们就一起来,用Python + OpenCV三步去除水印,去水印需要使用的库:cv2、numpy。cv2是基于OpenCV的图像处理库,可以对图像进行腐蚀,膨胀等操作;numpy这是一个强大的处理矩阵和维度

    前言

    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

    作者:编程乐趣

    平常工作中,有时为了采用网络的一些素材,但这些素材往往被打了水印,如果我们不懂PS就无法去掉水印,或者无法批量去掉水印。这些就很影响我们的工作效率。

    今天我们就一起来,用Python + OpenCV三步去除水印,去水印需要使用的库:cv2、numpy。cv2是基于OpenCV的图像处理库,可以对图像进行腐蚀,膨胀等操作;numpy这是一个强大的处理矩阵和维度运算的库。

     

    图片去水印原理

    1、标定噪声的特征,使用cv2.inRange二值化标识噪声对图片进行二值化处理,具体代码:cv2.inRange(img, np.array([200, 200, 240]), np.array([255, 255, 255])),把[200, 200, 200]~[255, 255, 255]以外的颜色处理为0;

    2、使用OpenCV的dilate方法,扩展特征的区域,优化图片处理效果;

    3、使用inpaint方法,把噪声的mask作为参数,推理并修复图片。

    去掉右下角的水印步骤

    1、从原图片,截取右下角部分,另存为新图片;

    2、识别水印,颜色值为:[200, 200, 200]~[255, 255, 255]

    3、去掉水印,还原图片;

    4、把原图片、去掉水印的新图片,进行重叠合并;

    代码实现

    import cv2
    import numpy as np
    from PIL import Image
    import os
    
    dir = os.getcwd()
    path = "1.jpg"
    newPath = "new.jpg"
    img=cv2.imread(path,1)
    hight,width,depth=img.shape[0:3]
    
    #截取
    cropped = img[int(hight*0.8):hight, int(width*0.7):width]  # 裁剪坐标为[y0:y1, x0:x1]
    cv2.imwrite(newPath, cropped)
    imgSY = cv2.imread(newPath,1)
    
    #图片二值化处理,把[200,200,200]-[250,250,250]以外的颜色变成0
    thresh = cv2.inRange(imgSY,np.array([200,200,200]),np.array([250,250,250]))
    #创建形状和尺寸的结构元素
    kernel = np.ones((3,3),np.uint8)
    #扩展待修复区域
    hi_mask = cv2.dilate(thresh,kernel,iterations=10)
    specular = cv2.inpaint(imgSY,hi_mask,5,flags=cv2.INPAINT_TELEA)
    cv2.imwrite(newPath, specular)
    
    #覆盖图片
    imgSY = Image.open(newPath)
    img = Image.open(path)
    img.paste(imgSY, (int(width*0.7),int(hight*0.8),width,hight))
    img.save(newPath)

    效果对比

    Python快速去水印,提高工作效率,一步到位(附代码)

    展开全文
  • python视频去水印

    千次阅读 2020-07-27 19:18:39
    Python视频去水印 小程序爬虫接单、app爬虫接单、网页爬虫接单、接口定制、网站开发、小程序开发> 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学习交流,请勿用于非法用途 直接上代码 import ...
  • 使用颜色替换方法,最主要的是计算阈值
  • 图像修复是图像保存和图像恢复的一种形式,其历史可以追溯到1700年代,当时意大利威尼斯的公共图片修复总监彼得·爱德华兹(Pietro Edwards)应用... 要了解如何使用OpenCV和Python执行图像修复,请继续阅读! 1. Pyth
  • Python使用ffmpeg批量去水印

    千次阅读 2019-12-07 11:50:53
    一、安装模块 1、Windows安装ffmpeg ffmpeg官网 下载完了是一个压缩包解压,把bin目录加入环境变量 2、Linux系统安装ffmpeg ...sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next...3、Python安装调用模...
  • 在做视频或者图片处理的时候,我们经常会遇到存在水印的情况,或者我们需要去除图片的某一个部分, 这时候我们就需要想办法去除不需要的这一部分。下面这个工具能够控制鼠标将图片上的任意部分改变颜色, ...
  • 完成后,最终实现效果如下,去水印的效果还是非常棒的。 2. np.clip用法介绍 这里面用到了np.clip()方法,如下所示,它的作用是将a里面所有小于1的设置为,如0所以修改为1, 所有大于8的修改为8, 最终保证数组里面...
  • OpenCV官方教程中文版(For Python去水印.pdf
  • Python实现去除图片中的数字水印

    千次阅读 2020-11-25 14:49:55
    要求编写Python程序,删除图片中的数字水印信息,把处理后的图片保存为新文件。 测试图片如下: 程序运行结果 代码如下 from os.path import splitext from itertools import product from PIL import ...
  • 自动识别mp4视频的水印, 并去除,生成新的视频文件(无音频)
  • 大家好,我是涛哥。由于图片水印的种类有很多,今天我们先讲最简单的一种。... 往期文章 超强汇总:学习Python列表,只需这篇文章就够了 Python优化机制:常量折叠 Python 为什么推荐蛇形命名法?
  • python去除水印

    2019-12-17 09:36:51
    python去除水印最重要的是把水印识别出来,所以如果有一个水印蒙版图片最好,如果没有,则要求水印颜色和底色不一样。本篇文章只对水印颜色和底色不一样的水印去除。 第一步,识别出来水印颜色,可以采用python相应...
  • python 快手视频去水印批量下载

    千次阅读 2020-06-02 15:58:34
    import requests from bs4 import BeautifulSoup import re import xlrd class KSNoMark(): # 忽略警告代码 requests.packages.urllib3.disable_warnings() def GetShareUrl(self): ... # 打开Excel表格 ...
  • 大家好,我是菜鸟哥!有粉丝问,既然Python这么牛逼,可不可使用Python去除图片水印的方法呢?这个肯定有啊,不过由于图片水印的种类有很多,今天我们先讲最简单的一种。即上图中的①类水印...
  • Python使用ffmpeg批量去水印 自媒体视频原创制作消重软件,批量处理去重消重 Python:火山小视频-无水印视频-多线程-批量采集实现和完整代码 python爬虫教程:抖音无水印视频批量下载 python3 抖音短视频链接...
  • 有的手机浏览器不支持视频下载功能,但是,能看到视频,就证明可以直接下载, 知道了它的原理,就可以编写python代码,实现一键下载啦。 手机可以看,电脑不能看,问题基本就在user-agent, 经测试发现,只要头信息...
  • 自从大数据火了,学习Python的人也出现了爆发式的增长。身边的小伙伴们纷纷加入了Python大营,无论是在互联网做开发项目的,还是在公司做财务报表的,各行各业各岗位都在努力学习Python。 因为Python有很多非常...
  • python 图片去水印

    千次阅读 2019-07-15 19:21:00
    import cv2import numpy as nppath = "test2.jpg"img = cv2.imread(path)height, width, depth = img.shape[0:3]# 图片二值化处理,把[240, 240, 240]~[255, 255, 255]以外的颜色变成0thresh = cv2.inRange(img, np....
  • python去除图片水印Sometimes, we need to add watermark as a standard category of plots and therefore, we are introducing a new methodology for adding watermark in this article. 有时,我们需要将水印...
  • python opencv去图片水印

    万次阅读 2017-08-26 16:10:55
     最近有一个需要为图片去水印的需求,于是各种折腾开始。 【背景了解图片标准】 图片使用RGB编码,RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的...
  • Python OpenCV去除图片水印

    千次阅读 2020-03-19 11:39:56
    问题描述 去除百度水印 1.jpg,背景简单 2.jpg,背景复杂 解决方案 安装 pip install opencv-... 写给普通人用的的深度学习去水印算法 使用深度学习去除复杂图像水印,效果好过photoshop! 利用Python去除图片水印
  • python 去除图片上面水印

    千次阅读 2020-10-19 09:10:35
    # 必须安装pip install opencv-python 和 pillow import cv2 import numpy as np from PIL import Image import os dir = os.getcwd() path = '2.png' newpath = 'new.png' img = cv2.imread(path,1) # img.shape...
  • python 利用opencv去除图片水印

    千次阅读 2019-10-08 23:18:01
    python 去除水印“人工”智能去除水印 这两天公司来了一个新的需求——去除水印,对于我一个从未接触过的这种事情的人来说,当时我是蒙的。不过首先我就去搜索了一下是否有该种合适的功能模块,经过我的筛选,发现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 599
精华内容 239
关键字:

python去水印

python 订阅