python快速实现简单的图片透明化

2023-12-17

整张图片透明化的完整代码如下:

import os
import glob
from PIL import Image

def convert_to_transparent(image_path, output_folder):
    image = Image.open(image_path)
    image = image.convert("RGBA")

    data = image.getdata()

    new_data = []
    for item in data:
        # 将背景颜色(不是透明的像素)替换为透明背景(RGBA值为原始RGB值 + 透明度为0)
        if item[3] != 0:
            new_data.append(item[:3] + (0,))
        else:
            new_data.append(item)

    image.putdata(new_data)
    output_path = os.path.join(output_folder, os.path.basename(image_path))
    image.save(output_path, "PNG")
    print(f"{output_path} 转换完成!")

def convert_folder_images(input_folder, output_folder):
    # 获取文件夹下所有jpg和png格式的图片
    image_paths = glob.glob(os.path.join(input_folder, "*.jpg")) + glob.glob(os.path.join(input_folder, "*.png"))

    for image_path in image_paths:
        convert_to_transparent(image_path, output_folder)

# 使用示例
input_folder = r"E:\img"
output_folder = r"E:\img1"
if not os.path.exists(output_folder):
    os.makedirs(output_folder)
convert_folder_images(input_folder, output_folder)

对黑色和白色背景进行透明化:

import os
import glob
from PIL import Image

def convert_to_transparent(image_path, output_folder):
    image = Image.open(image_path)
    image = image.convert("RGBA")

    data = image.getdata()

    new_data = []
    for item in data:
        # 将白色和黑色背景替换为透明背景(RGBA值为原始RGB值 + 透明度为0)
        if item[0] == 0 and item[1] == 0 and item[2] == 0:
            new_data.append(item[:3] + (0,))
        elif item[0] == 255 and item[1] == 255 and item[2] == 255:
            new_data.append(item[:3] + (0,))
        else:
            new_data.append(item[:3] + (255,))

    image.putdata(new_data)
    output_path = os.path.join(output_folder, os.path.basename(image_path))
    image.save(output_path, "PNG")
    print(f"{output_path} 转换完成!")

def convert_folder_images(input_folder, output_folder):
    # 获取文件夹下所有jpg和png格式的图片
    image_paths = glob.glob(os.path.join(input_folder, "*.jpg")) + glob.glob(os.path.join(input_folder, "*.png"))

    for image_path in image_paths:
        convert_to_transparent(image_path, output_folder)

# 使用示例
input_folder = r"E:\img"
output_folder = r"E:\img1"
if not os.path.exists(output_folder):
    os.makedirs(output_folder)
convert_folder_images(input_folder, output_folder)

效果:

原始图:

全透明化之后在文件夹中的显示效果:

背景透明化之后在文件夹中的显示效果:

全透明化后查看图片的显示效果:

背景透明化查看图片的显示效果:

用做QQ头像的显示效果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python快速实现简单的图片透明化 的相关文章

随机推荐

  • yyy666

    6
  • Tekton 构建容器镜像

    Tekton 构建容器镜像 介绍如何使用 Tektonhub 官方 kaniko task 构建docker镜像 并推送到远程dockerhub镜像仓库 kaniko task yaml文件下载地址 https hub tekton dev
  • 目标检测YOLO实战应用案例100讲-自动驾驶复杂场景下目标检测(续)

    目录 3 2 YOLOv5框架的分析 3 3改进算法的基本思想 3 4改进聚类算法 3 5重构损失函数模型和NMS算法 lt
  • 008 Windows注册表

    一 注册表基础 1 概述 注册表 Registry 繁体中文版 Windows 操作系统称之为登录档案 是 Microsoft Windows 中的一个重要的数据库 用于 存储系统 和 应用程序 的设置信息 早在 Windows 3 0 推
  • 时序预测 | Python实现CNN电力需求预测

    时序预测 Python实现CNN电力需求预测 目录 时序预测 Python实现CNN电力需求预测 预测效果 基本描述 程序设计 参考资料
  • 海尔2024届秋招/校招内推信息/内推码

    公司名称 海尔 内推码 GHJ110 内推来源 内推鸭小程序 官方招聘网站 海尔招聘 海尔官方招聘网站
  • 每日一练2023.12.17——大笨钟的心情【PTA】

    题目链接 L1 077 大笨钟的心情 题目要求 有网友问 未来还会有更多大笨钟题吗 笨钟回复说 看心情 本题就请你替大笨钟写一个程序 根据心情自动输出回答 输入格式 输入在一行中给出 24 个 0 100 区间内的整数 依次代表大笨钟在一天
  • 挖矿木马应急响应-案例分析

    挖矿木马应急响应 案例分析 linux 终端无法使用系统资源使用异常高 首先解决linux命令无法使用的问题 显示libc so 6 没有重新连接一下libc文件 查看日志 发现木马运行成功后就日志一直报libc错误 根据信息向上插在日志
  • 2023年总结,讲讲我的故事吧,十年

    文章目录 2023 前十年 后十年 周末 本该是提升自己的最好时机 也该是出去玩的大好时光 但是毫无意外的 在家躺了一天 单纯的有点累 2023年 发生了好多事情 又好像没发生几件事 可能毕业季的我 走过了太多复杂的心路历程吧 身边的人 是
  • 服务器安全的威胁和防范

    由于服务器发挥着至关重要的作用 因此存储在服务器上的机密数据和信息非常具有价值 做好服务器安全至关重要 常见的服务器 安全隐患 包括 1 恶意的攻击 遭受CC攻击和DDoS攻击 导致游戏或是网站打不开 严重影响业务开展 2 网站挂马 网站被
  • 代码随想录算法训练营Day3 | 203.移除链表元素、707.设计链表、59.螺旋矩阵II

    LeetCode 203 移除链表元素 本题思路 就是常规的移除链表中的元素的操作 需要注意的点 头节点 head val val 的情况的处理 如果 head val val 就要继续往后 head head next 因此我们要遍历到第
  • 最强姿态模型 mmpose 使用实例

    mmpose 介绍 https blog csdn net jacke121 article details 135040186 图片姿态实例 本机地址 B project pose mmpose dev 1 x Copyright c O
  • Arrays.asList()方法:陷阱与解决之道

    在Java编程中 Arrays类提供了一系列用于操作数组的实用方法 其中 Arrays asList 方法是一个常用的方法 用于快速将数组转换为List集合 然而 这个方法存在一些潜在的陷阱 可能导致出现意外的行为 本文将介绍 Arrays
  • DSP捕获输入简单笔记

    程序 cap c Created on 2023年12月16日 Author My PC include cap h void cap init EALLOW SysCtrlRegs PCLKCR3 bit GPIOINENCLK 1 gp
  • 蓝禾2024届秋招/校招内推信息/内推码

    公司名称 蓝禾 内推码 SQDPVPM 内推来源 内推鸭小程序 官方招聘网站 https lanhevip jobs feishu cn index m position external referral code SQDPVPM
  • 007 Windows组策略

    组策略的应用 1 基本概念 组策略是一组策略的集合 组策略 英语 Group Policy 是 微软 Windows NT 家族操作系统的一个特性 它可以控制 用户帐户 和计算机帐户的工作环境 组策略提供了操作系统 应用程序 和 活动目录
  • 剑指 Offer(第2版)面试题 35:复杂链表的复制

    剑指 Offer 第2版 面试题 35 复杂链表的复制 剑指 Offer 第2版 面试题 35 复杂链表的复制 解法1 模拟 剑指 Offer 第2版 面试题 35 复杂链表的复制 题目来源 48 复杂链表的复刻 解法1 模拟 算法 复制原
  • mmpose 使用笔记

    目录 自己整理的可以跑通的代码 图片demo 检测加关键点 自己整理的可以跑通的代码 最强姿态模型 mmpose 使用实例 CSDN博客 图片demo python demo image demo py tests data coco 00
  • 2023“楚怡杯”湖南省赛“信息安全管理与评估“--数字取证调查(高职组)

    2023 楚怡杯 湖南省 信息安全管理与评估 高职组 任务书 2023 楚怡杯 湖南省 信息安全管理与评估 高职组 任务书 第一阶段竞赛项目试题 第二阶段竞赛项目试题 第二部分 数字取证调查 需
  • python快速实现简单的图片透明化

    整张图片透明化的完整代码如下 import os import glob from PIL import Image def convert to transparent image path output folder image Ima