python批量读取图片处理并保存

这段代码实现了图像的灰度延展和直方图均衡化,以及伽马变换。首先,通过灰度延展和直方图均衡化增强图像的对比度,然后使用伽马变换调整图像的亮度和对比度。整个过程涉及到OpenCV库,包括读取图像、图像转换和保存处理后的图像。

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

import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np

import numpy as np
import cv2
import os
import math

# 图像灰度延展、直方图均衡化

file_root = 'E:/program/sxdevice2/SRCNN_en/data/train/lr/'  # 当前文件夹下的所有图片
file_list = os.listdir(file_root)
save_out = "E:/program/sxdevice2/SRCNN_en/data/train/contrast/" # 保存图片的文件夹名称
for img_name in file_list:
    img_path = file_root + img_name

    img = cv.imread(img_path, -1)
    out_min = 0
    out_max = 255

    in_min = np.min(img)
    in_max = np.max(img)

    a = float(out_max - out_min) / (in_max - in_min)
    b = out_min - a * in_min
    img_norm = img * a + b
    img_norm = img_norm.astype(np.uint8)

    out_name = img_name.split('.')[0]
    save_path = save_out + out_name + '.png'
    cv2.imwrite(save_path, img_norm)


# 伽马变换

# file_root = 'E:/program/sxdevice2/SRCNN_en/data/train/contrast/'  #当前文件夹下的所有图片
# file_list = os.listdir(file_root)
# save_out = "E:/program/sxdevice2/SRCNN_en/data/train/contrast/" #保存图片的文件夹名称
# for img_name in file_list:
#     img_path = file_root + img_name
#
#     img = cv.imread(img_path, -1)
#
#     img_norm = img / 255.0  # 注意255.0得采用浮点数
#     img_gamma = np.power(img_norm, 0.4) * 255.0
#     img_gamma = img_gamma.astype(np.uint8)
#
#     out_name = img_name.split('.')[0]
#     save_path = save_out + out_name + '.png'
#     cv2.imwrite(save_path, img_gamma)

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值