遍历文件夹中的图片进行处理并保存:
import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
import random
import numpy as np
import cv2
import os
import math
import torch
from torch import nn
# 图像灰度延展、直方图均衡化
file_root = r'E:\wd_0.01_deal\wd_train_0.01\wd_train_0.01_4_2parts\real/' # 当前文件夹下的所有图片
file_list = os.listdir(file_root)
save_out = r"E:\wd_0.01_deal\wd_train_0.01\4_cutmix\real/" # 保存图片的文件夹名称
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)
#尺寸变小
# h, w, _ = img.shape
# s_h = h // 2
# s_w = w // 2
# img = cv2.resize(img, (s_w, s_h))
#高斯模糊
img = cv2.GaussianBlur(img, (5, 5), 5)#处理
#随机翻转
# if random.randint(0, 1):
#
# axis = random.randint(0, 2)
#
# img = np.flip(img, axis=axis)
#cutmix
# """train.py 279-295行"""
# """输入为:样本的size和生成的随机lamda值"""
# img = cutmix(img, 1)
# img = cv2.resize(img, (w, h))
img_norm = img.astype(np.uint8)#转换格式便于保存输出
# out_name = img_name.split('.')[0]
out_name = img_name
save_path = save_out + 'gs_' + out_name + '.png'
cv2.imwrite(save_path, img_norm)#