17.如何用ChatGPT 去除图片水印

这是零基础玩ChatGPT+Python——办公自动化的第17节:利用ChatGPT生成Python代码,把图片中的水印去掉。

教程目的: 初步掌握用ChatGPT批量操作图片,节省时间

阅读对象: 需要用ChatGPT提高工作效率、摆脱重复无聊工作、无Python基础、或Python入门者。

小任务:

把图片中的水印(叶赛文)去掉

一、软件准备

1.1 ChatGPT账号。

如果没有账号,嫌麻烦,可以在银河录像局的“AI百宝箱”里购买: https://nf.video/yqyfZ

也可以自己免费注册: http://yesaiwen.com/chatgpt-plus-register-yourself/

1.2 vscode:免费。 参考安装教程: http://yesaiwen.com/how-to-use-the-python-code-generated-by-chatgpt/

二、素材准备

练习素材内容:

直接保存任务里的图片

下载后,获得文件的位置。例如:

文件位置::"C:\Users\seven2024\Desktop\text\叶赛文水印图片.png"

三、操作步骤

3.1 安装模块

首先需要在vscode里,安装2个库。 在vscode的终端里,输入这1个命令,后按回车:

pip install Pillow numpy

3.2 查看像素

我们用Windows自带的画图工具,来查看图片上的颜色的rgb值。

图片中有3种颜色

黑色(字体颜色):0,0,0 灰色(水印颜色):223,223,223 白色(背景颜色):255,255,255

可以看到,水印颜色的rgb之和,要大于600

3.3.打开ChatGPT,输入提示词(Prompt)

参考提示词:

做练习的时候,要把文件夹位置和水印文件的位置,替换为自己电脑上的文件夹位置。


你作为一个Python程序员,根据我的要求,写出代码
任务:把图片中的水印去掉
水印的RGB值之和大于600.把所有RGB大于600的,都变成白色(255,255,255)
文件的位置:"C:\Users\seven2024\Desktop\text\叶赛文水印图片.png"

3.4.复制代码,并粘贴到vscode里

在vscode里,新建一个jupyter文件:

① 复制ChatGPT里给出的代码,粘贴到vscode里

② 点击“运行”

③ 当下面出现绿勾时,说明代码运行成功。

3.5 检查结果

运行代码后,水印都没了

四、小结

这个小任务用到的是:计算机图片的知识:每个图片都是有一个个不同颜色的小点组成。

分析图片后可以看到,图片实际上由三种颜色组成:文字颜色(黑色),水印颜色(灰色)和背景颜色(白色)。原理就是把灰色变成白色。

在rgb里,颜色越浅,它的值越高。比如黑色是:0,0,0, 而白色则是:255,255,255。

这个代码,只能处理简单的任务。 复杂的任务,可能需要使用更高级的图像处理方法,比如OpenCV的特征检测和模板匹配等。

五、参考源码

from PIL import Image

import numpy as np

  

# 加载图像

image_path = r"C:\Users\seven2024\Desktop\text\叶赛文水印图片.png"

img = Image.open(image_path)

img = img.convert("RGB")  # 转换为RGB格式

  

# 将图像转换为NumPy数组

data = np.array(img)

  

# 定义要替换的颜色(白色)

replacement_color = [255, 255, 255]

  

# 创建一个布尔数组,表示哪些像素的RGB值之和大于600

mask = np.sum(data, axis=-1) > 600

  

# 将这些像素的颜色替换为白色

data[mask] = replacement_color

  

# 创建一个新的图像

new_img = Image.fromarray(data)

new_img.show()

  

# 保存处理后的图片

new_img.save(r"C:\Users\seven2024\Desktop\text\叶赛文去水印图片.png")

近期文章

发表评论