这是零基础玩+——办公自动化的第17节:利用生成代码,把图片中的水印去掉。
教程目的: 初步掌握用批量操作图片,节省时间
阅读对象: 需要用提高工作效率、摆脱重复无聊工作、无基础、或入门者。
文章目录
小任务:
把图片中的水印(叶赛文)去掉
一、软件准备
1.1 账号。
如果没有账号,嫌麻烦,可以在银河录像局的“AI百宝箱”里购买:
也可以自己免费注册:
1.2 :免费。 参考安装教程:
二、素材准备
练习素材内容:
直接保存任务里的图片
下载后,获得文件的位置。例如:
文件位置::”C:Users\text叶赛文水印图片.png”
三、操作步骤3.1 安装模块
首先需要在里,安装2个库。 在的终端里,输入这1个命令,后按回车:
pip numpy
3.2 查看像素
我们用自带的画图工具,来查看图片上的颜色的rgb值。
图片中有3种颜色
黑色(字体颜色):0,0,0 灰色(水印颜色):223,223,223 白色(背景颜色):255,255,255
可以看到,水印颜色的rgb之和,要大于600
3.3.打开,输入提示词()
参考提示词:
做练习的时候,要把文件夹位置和水印文件的位置,替换为自己电脑上的文件夹位置。
你作为一个Python程序员,根据我的要求,写出代码
任务:把图片中的水印去掉
水印的RGB值之和大于600.把所有RGB大于600的,都变成白色(255,255,255)
文件的位置:"C:Usersseven2024Desktoptext叶赛文水印图片.png"
3.4.复制代码,并粘贴到里
在里,新建一个文件:
① 复制里给出的代码,粘贴到里
② 点击“运行”
③ 当下面出现绿勾时,说明代码运行成功。
3.5 检查结果
运行代码后,水印都没了
四、小结
这个小任务用到的是:计算机图片的知识:每个图片都是有一个个不同颜色的小点组成。
分析图片后可以看到,图片实际上由三种颜色组成:文字颜色(黑色),水印颜色(灰色)和背景颜色(白色)。原理就是把灰色变成白色。
在rgb里,颜色越浅,它的值越高。比如黑色是:0,0,0, 而白色则是:255,255,255。
这个代码,只能处理简单的任务。 复杂的任务,可能需要使用更高级的图像处理方法,比如的特征检测和模板匹配等。
五、参考源码
from PIL import Image
import numpy as np
# 加载图像
image_path = r"C:Usersseven2024Desktoptext叶赛文水印图片.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:Usersseven2024Desktoptext叶赛文去水印图片.png")
发表回复