asdTools-RGB图像转为三通道灰度图

该文章介绍了一个Python脚本,用于将RGB图像转换为具有三个通道的灰度图像,便于在处理灰度图时保持与RGB图像的一致性。这个开源工具可以从GitHub获取,支持批量处理jpg和png格式的图片,并提供详细的运行示例。

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

文章首发及后续更新:https://mwhls.top/4681.html,无图/无目录/格式错误/更多相关请至首发页查看。
新的更新内容请到mwhls.top查看。
欢迎提出任何疑问及批评,非常感谢!

Github – 开源代码及Readme
Blog – 工具介绍

摘要:转换RGB图像为三通道灰度图。

场景
  • 希望对灰度图进行处理,但又希望和RGB的处理保持一致,因此需要三通道的灰度图。
使用示例
from asdTools.Classes.Image.ImageBase import ImageBase

class RGB2Gray3Channel(ImageBase):
    """
    转换RGB图像为三通道灰度图。示例见 Sample\RGB2Gray3Channel
    Convert RGB images into gray images with 3 channels. Example: Sample\RGB2Gray3Channel
    """
    def __init__(self, **kwargs) -> None:
        super().__init__(multipleFiles=True, **kwargs)

    def __call__(self, imgs_dir:str) -> str:
        self.run(imgs_dir)

    def run(self, imgs_dir:str) -> str:
        imgs_path = self.get_paths_from_dir(imgs_dir)
        imgs_path = self.filter_ext(imgs_path, ["png", "jpg", "jpeg"])
        for i, img_path in enumerate(imgs_path):
            img_rgb = self.read_img(img_path)
            img_gray = self.convert_RGB_to_gray(img_rgb, True)
            img_name = self.get_name_of_file(img_path, keepExt=True)
            img_dir = self.get_dir_of_file(img_path, root=imgs_dir)
            output_path = self.save_image(img_gray, output_file=img_name, output_middle_dir=img_dir)
            self.log(f"{i+1}: {img_name} has converted from rgb to gray img with 3 channels, saved in {output_path}.")
            img_rgb.close()
            img_gray.close()
        self.done()

if __name__ == "__main__":
    imgs_dir = r"Sample\RGB2Gray3Channel\before"
    Converter = RGB2Gray3Channel()
    Converter(imgs_dir)
    ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值