python图片背景设置为白色,并剪裁

该文章介绍了一个Python脚本,用于将含有电子签名的图片背景转换为白色,并自动裁剪至适当尺寸。脚本通过遍历图片像素点,设定阈值处理颜色,并确定剪裁边界来完成任务。这种方法适用于背景暗淡的签字照片,但若背景有其他线条可能无法精确剪裁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python图片背景设置为白色,并剪裁

#业务场景
由于业务系统需要维护用户的审批签章,即电子签名,用户以照片方式提供,但是照片的尺寸和背景都未经过处理,还不能维护进入业务系统。

图片背景比较暗
图片显示比较暗

#目标
能将签字照片背景处理成白色,并且进行剪裁到合适大小

#实现代码
如下

from PIL import Image

L_x = []
L_y = []
def bgTrans2white(img):
    sp = img.size
    width = sp[0]
    height = sp[1]
    # print(sp)
    for yh in range(height):
        for xw in range(width):
            dot = (xw,yh)
            color_d = img.getpixel(dot)  # 与cv2不同的是,这里需要用getpixel方法来获取维度数据
            if(color_d[2] > 100):
                color_d = (255,255,255)
                img.putpixel(dot,color_d)  # 赋值的方法是通过putpixel
            else:
                # 剪裁处理
                L_x.append(xw)
                L_y.append(yh)
    img = img.crop((min(L_x)-5,min(L_y)-5,max(L_x)+5,max(L_y)+5))
    return img
    
img = Image.open('C:/Users/Administrator/Desktop/test.jpg')
img = bgTrans2white(img)
# img.show()  # 显示图片
img.save('C:/Users/Administrator/Desktop/test2.jpg')  # 保存图片
print("处理完成!")

#最终效果
如图
处理后图片
#总结
1.主要是对图片的每个像素点进行遍历,根据设置的阈值进行判断是否需要修改RGB的值。
2.剪裁图片需要确定剪裁区域左上角和右下角的坐标,每张图片在坐标系中都是左上角为(0,0)点,右方和下方为正方向,坐标也是如此选取。
3.这种思路对于处理背景暗的签字照片可行,如果背景存在其他手写线条则无法剪裁出合适大小的图片

参考文章:
https://www.cnblogs.com/jaysonteng/p/12793178.html
https://blog.csdn.net/m0_59485658/article/details/123808484

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值