自定义批量修改图像位深度(详细图文教程)

在这里插入图片描述

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《图像增强》
📝《模型优化》
📝《模型实战部署》
📝《图像配准融合》
📝《数据集》
📝《高效助手》


在这里插入图片描述

一、图像位深度

什么是图像位深度???

图像位深度(Bit Depth)是指图像中每个像素所占的比特数,它决定了图像能够表示的颜色数量和亮度层级。

简单来说:

  • 位深度越高,每个像素所能表示的颜色数和亮度等级越多。
  • 位深度越低,每个像素所能表示的颜色数和亮度等级越少。
    位深度直接影响图像的质量和细节表现能力。
    常见的图像位深度有:
  • 1位: 仅有黑和白两色,用于文字识别等简单图像。
  • 8位: 256级灰度,能表示256种亮度等级,用于灰度图像。
  • 24位: 真彩色,R、G、B每个颜色8位,共表示约1600万种颜色。大多数彩色图片采用这种位深度。
  • 32位: 在24位基础上增加Alpha通道表示透明度。
  • 48位及以上: 高动态范围(HDR)图像常采用,可以表示更多颜色和更广阔的亮度范围。

如下想要将位深度为1的图像转为位深度为8的图像,原图像如下所示:

在这里插入图片描述

二、修改

具体修改方法见下:

在这里插入图片描述

在这里插入图片描述

三、代码

代码见下:

from PIL import Image
import os

path = "data/INF_People/VOC_Images"                 # 原始1位像素图像文件路径
save_path = "data/INF_People/VOC_Images_Sort"       # 转后保存的路径

files = os.listdir(path)

for pic in files:
    img = Image.open(os.path.join(path, pic)).convert('L')
    print(img.getbands())  # ('P',) 这种是有彩色的,而L是没有彩色的

    pic_new = os.path.join(save_path, pic)

    img.save(pic_new)


下面是修改后的样纸:

在这里插入图片描述

下面是转换后适用于语义分割的的转换代码:

from PIL import Image
import os
import numpy as np

path = "data/INF_People_original/VOC_Images"                 # 原始1位像素图像文件路径
save_path = "data/INF_People_original/VOC_Images_Sort_P"       # 转后保存的路径

files = os.listdir(path)

for pic in files:
    img = Image.open(os.path.join(path, pic)).convert('P')
    print(img.getbands())  # ('P',) 这种是有彩色的,而L是没有彩色的

    # img = Image.open(os.path.join(root_path, name)).convert('P')
    img = np.array(img, dtype=np.uint8)
    img[img > 0] = 1    # 图像img进行处理,将其中所有大于0的像素值设置为1。
    save_img = Image.fromarray(img, "P")   # Image.formarray() 将数组转换为PIL Image对象
    # save_img.save(os.path.join(root_path1, name))


    pic_new = os.path.join(save_path, pic)

    save_img.save(pic_new)

四、总结

以上就是自定义批量修改图像位深度的方法,具体要修改为多少位深度,根据对应代表字符修改即可,希望能帮到你!

感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖

关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

视觉研坊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值