阅读背景:

计算图像数据集RGB各通道的均值和方差

来源:互联网 

第一种写法,先读进来,再计算。比较耗内存。

import cv2
import numpy as np
import torch 

startt = 700
CNum = 100   # 挑选多少图片进行计算
imgs=[]
for i in range(startt, startt+CNum):
    img_path = os.path.join(root_path, filename[i])
    img = cv2.imread(img_path)
    img = img[:, :, :, np.newaxis]
    imgs.append(torch.Tensor(img))

torch_imgs = torch.cat(imgs, dim=3)

means, stdevs = [], []
for i in range(3):
    pixels = torch_imgs[:, :, i, :]  # 拉成一行
    means.append(torch.mean(pixels))
    stdevs.append(torch.std(pixels))

# cv2 读取的图像格式为BGR,PIL/Skimage读取到的都是RGB不用转
means.reverse()  # BGR --> RGB
stdevs.reverse()

print("normMean = {}".format(means))
print("normStd = {}".format(stdevs))
import cv2
import n



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: