欢迎光临UUpython
最大、最新、最全的Python代码收集站

手写拍照转换为电子签名,背景透明图

这段代码是一个用于处理图片的Python脚本,它使用了PIL(Python Imaging Library)库来进行图片处理操作。主要功能是将指定颜色范围之外的像素设为透明,实现了一个简单的抠图效果。

以下是代码的主要功能和流程:

  1. 导入所需的模块:
  • sys:用于获取命令行参数。
  • PIL 中的 Image 模块:用于图片的打开、处理和保存。
  1. clip_image 函数:
  • 打开指定的图片,将其转换为 RGBA 模式,其中 A 表示 alpha 通道(透明度通道)。
  • 遍历图片的每个像素,根据像素的 RGB 值来判断是否应该设为透明或不透明。
  • 最终将处理后的图片保存。
  1. 主函数:
  • 如果脚本被命令行执行,则会读取命令行传入的图片文件路径。
  • 对每个传入的图片路径,调用 clip_image 函数进行处理,并保存处理后的图片。

运行此脚本时,可以将图片文件拖动到脚本可执行文件上,然后脚本会将图片的部分区域抠图,并将抠图后的图片保存。代码中的阈值条件可以根据需要进行调整,以满足不同情况下的抠图需求。

请注意,此脚本涉及图片处理操作,请确保你已经安装了 PIL(Pillow)库,可以使用以下命令安装:

pip install Pillow
# coding=utf8
import sys
from PIL import Image
 
def clip_image(image_path, save_path):
    img = Image.open(img_path)
    img = img.convert('RGBA')
    x,y=img.size
    for i in range(x):
        for j in range(y):
            xiangsu=img.getpixel((i,j))
            if xiangsu[0]>100 or xiangsu[1]>100 or xiangsu[2]>100:
                img.putpixel((i, j), (0,0,0,0))
            else:
                img.putpixel((i,j), (0,0,0,255) )
 
    img.save(save_path)
 
if __name__=='__main__':
    if len(sys.argv)<2:
        input('不能直接运行,需要把图片文件拖动到可执行程序上来')
        exit(0)
    total=len(sys.argv)-1
    print("总任务数:%d"%total)
    for i in range(1,total +1):
        img_path=sys.argv[i]
        print('当前要处理的图片:', img_path)
        save_path = img_path.split(r'/')[-1] + "_ele_sign.png"
        clip_image(img_path, save_path)
        print('处理后保存的位置:', save_path)
    input('所有任务已处理完毕,按任意键退出')
赞(0) 打赏
未经允许不得转载:UUpython » 手写拍照转换为电子签名,背景透明图
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!