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")
发表评论