计算一组图片中的均值和标准差,用来对图像进行预处理

# -*-coding:utf-8-*-
import os
import numpy as np

from PIL import Image

img_dir = '/disk2/xjt/data/saliency/pascalvoc-s/'
number_of_picture = len(os.listdir(img_dir))  # 850 pictures

R = 0
G = 0
B = 0

for name in os.listdir(img_dir):
    I = Image.open(os.path.join('/disk2/xjt/data/saliency/pascalvoc-s/', name))

    a = np.array(I).size
    pixel_number_of_a_channel = a / 3

    one_image_pi_value = np.array(I) / 255

    R_channel = np.sum(one_image_pi_value[:, :, 0]) / pixel_number_of_a_channel
    G_channel = np.sum(one_image_pi_value[:, :, 1]) / pixel_number_of_a_channel
    B_channel = np.sum(one_image_pi_value[:, :, 2]) / pixel_number_of_a_channel

    R = R + R_channel
    G = G + G_channel
    B = B + B_channel

print(R / 850)
print(G / 850)
print(B / 850)

 

你可能感兴趣的:(计算一组图片中的均值和标准差,用来对图像进行预处理)