Python批量更改图片颜色,可做证件照底色的更换

红色部分图片更改为白色

在这里插入图片描述

  • originData:将需要转换的图片放置到这个文件夹中,可自定义文件夹名
  • resData:转换后结果保存的位置,可自定义文件夹名
def img_path(read_path,res_path):
    read_path_list = [read_path+'/'+i for i in os.listdir(read_path)]
    if not os.path.exists(res_path):
        os.mkdir(res_path)
    sava_path_list = [res_path+'/'+i for i in os.listdir(read_path)]
    return read_path_list,sava_path_list

def red_to_white(read_path,save_path):
    print(f"处理路径名称:{read_path}")
    img = Image.open(read_path)
    img_rgb_array = np.array(img.convert("RGB"))
    for x in range(0,img_rgb_array.shape[0]):
        for y in range(0,img_rgb_array.shape[1]):
        		 # 重点就是修改这儿,需要将RGB转为你需要的RGB,更改此处逻辑即可
            if img_rgb_array[x,y][0] == 128:
                img_rgb_array[x, y] = (255, 255, 255)
    print(f"保存路径名称:{save_path}")
    Image.fromarray(img_rgb_array).save(save_path)

def main(read_path_name,res_path_name):
    try:
        read_path_list,sava_path_list = img_path(read_path_name,res_path_name)
        for read_path,save_path in zip(read_path_list,sava_path_list):
            red_to_white(read_path,save_path)
    except Exception as e:
        print(e)

from PIL import Image
import numpy as np
import os
if __name__=='__main__':
    main("originData","resData")
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
对于Python实现证件照底色的方法,我们可以采用多种方式来实现。 第一种方式是使用remove.bg工具。remove.bg是一个在线工具,可以帮助我们快速去除照片的背景。只需要将证件照上传到remove.bg网站,它会自动去除背景并返回一张只有人物的透明背景图片。 第二种方式是使用Python的PIL/Pillow库。PIL/Pillow库是Python中常用的图像处理库,它提供了许多图像处理功能。我们可以使用PIL/Pillow库中的相关函数来实现证件照底色的功能,例如使用alpha通道来设置背景颜色。 第三种方式是使用Python的matplotlib和numpy模块。matplotlib和numpy模块可以帮助我们读取、处理和保存图像。我们可以使用这两个模块来实现证件照底色的功能,比如使用numpy数组来修改图像的背景颜色,然后使用matplotlib来保存修改后的图像。 第四种方式是使用Python的opencv库。opencv是一个强大的计算机视觉库,它提供了许多图像处理计算机视觉的功能。我们可以使用opencv库中的函数来实现证件照底色的功能,比如使用图像分割算法将人物从背景中分离出来,然后再将新的背景添加到图像中。 请根据你的需求和熟悉程度选择其中一种方式来实现证件照底色。简单来说,你可以使用remove.bg工具、PIL/Pillow库、matplotlib和numpy模块或opencv库来实现证件照底色的功能。希望这些方法对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

而又何羡乎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值