背景需求:
前期用PS修图(灰色背景变成白色背景),200张图片用了6个小时。
【教学类-73-02】20240805广口瓶(宽口瓶)02-CSDN博客文章浏览阅读744次,点赞17次,收藏20次。【教学类-73-02】20240805广口瓶(宽口瓶)02https://blog.csdn.net/reasonsummer/article/details/140930505
所以我想试试用Python将灰色变成白色。
今天用通义万相下载了一堆袜子
一只袜子,全侧面,彩色切割面,简单笔画,卡通,白色背景,加粗轮廓,清晰的线条,矢量线。简单,大,
一只袜子,全侧面,彩色块面,简单笔画,卡通,白色背景,加粗轮廓,清晰的线条,矢量线。简单,大,
一只袜子,全侧面,彩色线条,简单笔画,卡通,白色背景,加粗轮廓,清晰的线条,矢量线。简单,大,
一只袜子,全侧面,彩色圆点,简单笔画,卡通,白色背景,加粗轮廓,清晰的线条,矢量线。简单,大,
一只袜子,全侧面,彩色几何图形,简单笔画,卡通,白色背景,加粗轮廓,清晰的线条,矢量线。简单,大,
一只袜子,全侧面,彩色图案,简单笔画,卡通,白色背景,加粗轮廓,清晰的线条,矢量线。简单,大,
一只袜子,全侧面,彩色花纹,简单笔画,卡通,白色背景,加粗轮廓,清晰的线条,矢量线。简单,大,
一只袜子,全侧面,简单笔画,卡通,黑白轮廓,轮廓加粗,轮廓加粗,未着色,插图,线条画,白色背景,白颜色,黑白漫画线条艺术:,白色背景,粗轮廓,清晰的线条,矢量线。简单,大,
虽然我已经把背景改成“白色背景”
但是实际看上去,背景颜色还是灰色
所有袜子图片下载以后。用一个程序测试背景颜色
用Python程序测试一下背景色:
'''
检测图片背景色RGB,图片大小1024,1024,坐标点是10,10
星火讯飞 阿夏
20240806
'''
import os
from PIL import Image
def read_images_and_get_rgb(folder_path, x, y):
image_files = [f for f in os.listdir(folder_path) if f.endswith('.jpg') or f.endswith('.png')]
rgb_values = []
for image_file in image_files:
image_path = os.path.join(folder_path, image_file)
image = Image.open(image_path)
rgb = image.getpixel((x, y))
rgb_values.append(rgb)
return rgb_values
folder_path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20240806袜子配对\01袜子图片 - 副本'
x, y = 10,10
rgb_values = read_images_and_get_rgb(folder_path, x, y)
print(rgb_values)
unique_colors = list(set(rgb_values))
print(unique_colors)
print(len(unique_colors))
200张图片,每张图片的坐标10,10位置的RGB色彩数值,去掉重复的数值,一共有85种灰色
坐标点改成20,20,测试RGB 颜色,去掉重复的数值,一共有77种灰色
这就说明,虽然图片背景看上去是一种灰色,实际上每个坐标点的灰色都不同。
所以,必须用PS魔棒工具(容差50)来选择灰度相近的背景颜色
可是昨天已经用了6个小时手动重复修图,感觉太累了,
所以我写了一个UIBOT自动化代码。让它模拟人工方式,对每一张袜子图的外背景进行魔棒选择,填充白色(255,255,255)
视频展示
经过反复测试后,终于可以运行了。
因为用到快捷键,所以运行前,先要将输入法键盘改成美式键盘,否则,会出现输入框的
20240806 UIBOT操作PS魔棒修图
修图速度:
一张图片22秒,200张图大约是1小时20分钟
从12:30开始到14:00结束
我用的是覆盖保存,所以
修图前修图后对比
最后再用RGB检测背景是不是都是白色(255,255,255)
'''
检测图片背景色RGB,图片大小1024,1024,坐标点是10,10
星火讯飞 阿夏
20240806
'''
import os
from PIL import Image
def read_images_and_get_rgb(folder_path, x, y):
image_files = [f for f in os.listdir(folder_path) if f.endswith('.jpg') or f.endswith('.png')]
rgb_values = []
for image_file in image_files:
image_path = os.path.join(folder_path, image_file)
image = Image.open(image_path)
rgb = image.getpixel((x, y))
rgb_values.append(rgb)
return rgb_values
folder_path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20240806袜子配对\01袜子图片'
x, y = 10,10
rgb_values = read_images_and_get_rgb(folder_path, x, y)
print(rgb_values)
unique_colors = list(set(rgb_values))
print(unique_colors)
print(len(unique_colors))