批量RGB图像转红外图像

将RGB图像转换为红外图像是一种图像处理技术,旨在模拟红外摄影的效果。红外摄影是利用相机或传感器捕捉红外光谱范围内的光线,而不是可见光谱范围内的光线。红外图像通常显示出与可见光摄影不同的特征和效果。 在RGB图像转换为红外图像的过程中,通常会采用一些简单的转换规则来模拟红外效果。

常见的转换方法包括:

1.通道混合:通常使用RGB通道的加权组合来生成红外效果。这些权重可以根据需要进行调整,以产生不同的效果。

2.灰度化:将RGB图像转换为灰度图像是常见的第一步。这可以通过简单地对RGB通道的值进行加权平均来实现。

3.色彩调整:根据红外摄影的特点,可能需要对颜色进行调整,使得图像更符合红外摄影的特征。 4.滤波效果:添加一些滤波效果,如模糊或纹理增强,以增强红外图像的效果。

以下为简单的实现代码:

"""
Create on August 30, 2024
@author: Dehuan
"""
from PIL import Image
import os

def rgb_to_infrared_batch(input_folder, output_folder):
    #确保输出文件夹存在
    if not os.path.exists(output_folder)
        os.makedirs(output_folder)
    
    #获取输入文件夹中所有的文件名
    file_list = os.listdir(input_folder)
    
    for file_name in file_list:
        if file_name.endswith(".jpg") or file_name.endswith(".jpeg") or file_name.endswith(".png"):
            #打开RGB图像
            img = Image.open(os.path.join(input_folder, file_name))
            
            #获取图像尺寸
            width, height = img.size
            
            #创建一个新的图像对象,模拟红外效果
            infrared_img = Image.new('RGB', (width, height))
            
            #遍历每个像素,并将RGB值转换为红外效果的值
            for x in range(width):
                for y in range(height):
                    r, g, b = img.getpixel((x, y))
                    
                    #简单的变换规则,你可以根据需要调整为红外效果的值
                    infrared_r = int(0.299 * r + 0.587 * g + 0.114 * b)
                    infrared_g = int(0.299 * r + 0.587 * g + 0.114 * b)
                    infrared_b = int(0.299 * r + 0.587 * g + 0.114 * b)
                    
                    infrared_img.putpixel((x, y), (infrared_r, infrared_g, infrared_b))
            
            #保存红外图像到输出文件夹
            infrared_img.save(os.path.join(output_folder, file_name))
            
    print("批量转换完成")
    
#调用函数并传入RGB图像文件夹路径和输出路径
rgb_to_infrared_batch("input_folder", "output_folder")

结果展示: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值