from PIL import Image
import os
i = 1
j = 1
path = "H:/BaiduNetdiskDownload/image_total/单通道测试/"
all_images = os.listdir(path)#获取路径下所有文件名称列表
for image in all_images:
image_path = os.path.join(path, image)
img = Image.open(image_path)
#img = Image.open("C:/Users/Administrator/Desktop/img1/587-removebg-preview.png")#读取系统的内照片
#print (img.size)#打印图片大小
#print (img.getpixel((4,4)))
try:
list=[]
Edge_color=img.getpixel((1,1))
list=Edge_color
#print('出现异常{},{}文件不是RGB图像'.format(e,path+image))
width = img.size[0]#长度
height = img.size[1]#宽度
for i in range(0,width):#遍历所有长度的点
for j in range(0,height):#遍历所有宽度的点
data = (img.getpixel((i,j)))#获取该图片的所有点存入列表data
#print (data)#打印每个像素点的颜色RGB的值(r,g,b)
#print (data[0])#打印RGB的r值
if img.mode=='RGB':#如果图片类型为RGB则R,G,B各通道替换为list所获取的边缘颜色
if (data[0] ==list[0] and data[1] ==list[1] and data[2]==list[2]):
target_color_RGB=(0,0,0)#目标背景色
img.putpixel((i,j),target_color_RGB)#则这些像素点的颜色改成黑色
elif img.mode=='L':#如果图像为L灰度图,那么他的像素值为int型。
if (data==list):
target_color_L=0
img.putpixel((i,j),target_color_L)#则这些像素点的颜色改成黑色
save_path = 'H:/BaiduNetdiskDownload/image_total/TEST/'
img.save(save_path + image)#保存修改像素点后的图片
print('文件{} 已被成功修改'.format(path+image))
except Exception as e:
print('出现错误{},{}文件格式不是RGB或者L'.format(e,path+image))
纯色背景的背景颜色替换
最新推荐文章于 2023-02-28 06:00:00 发布