图像均值的计算公式:
其中,和
分别为图像的宽和高,
为
位置对应的像素值。
图像的标准差计算公式:
计算整个文件夹中所有图像的平均和标准差程序如下:
import os
import numpy
from PIL import Image
def get_image_mean_and_std(image_data_dir_src=r"",channel_num=3):
image_name_array = os.listdir(image_data_dir_src)
means = [0 for i in range(channel_num)]
std = [0 for i in range(channel_num)]
for i in range(len(image_name_array)):
image_src = os.path.join(image_data_dir_src, image_name_array[i])
image = numpy.array(Image.open(image_src))
if channel_num==1:
image=image[None]
for j in range(channel_num):
means[j] += image[:, :, j].mean()
std[j] += image[:, :, j].std()
means = numpy.array(means) / len(image_name_array)
std = numpy.array(std) / len(image_name_array)
print(means)
print(std)
return means,std
if __name__ == '__main__':
means,std=get_image_mean_and_std(r"./data",3)