728x90
import numpy as np
import matplotlib.pyplot as plt
from pycocotools.coco import COCO
import torch
from torchvision import datasets
from tqdm.notebook import tqdm
def image_stats(data):
total_images = len(data)
total_pixels = 0
pixel_sum = np.zeros(3)
pixel_squared_sum = np.zeros(3)
for i in range(total_images):
# 이미지 데이터를 numpy 객체로 변환하고 정규화(0~1)
img, _ = data[i]
img_np = np.asarray(img) / 255.0
total_pixels += img_np.size // img_np.shape[-1]
# 픽셀값의 합과 제곱의 합을 계산
pixel_sum += np.sum(img_np, axis=(0, 1))
pixel_squared_sum += np.sum(np.square(img_np), axis=(0, 1))
# 평균과 표준편차 계산 및 반환
mean = pixel_sum / total_pixels
std = np.sqrt(pixel_squared_sum / total_pixels - np.square(mean))
return mean, std
train_data = datasets.CocoDetection('train데이터셋의 위치', 'instances_train.json파일의 위치')
#test_data = datasets.CocoDetection('test데이터셋의 위치', 'instances_test.json파일의 위치')
mean, std = image_stats(train_data)
print("Mean:", mean)
print("Std:", std)
728x90
'파이썬' 카테고리의 다른 글
파이썬 이미지 파일 확장자명 한번에 바꾸기 (0) | 2023.06.10 |
---|---|
[python] 프레임으로 나눠진 이미지들을 동영상으로 합치기 (0) | 2023.05.23 |
M1, M2 맥북에서 아나콘다 파이썬 3.6 또는 3.7 설치하기 (0) | 2023.04.17 |
파이썬 for문의 index 수정하기 (0) | 2023.03.28 |
파이썬 2차원 리스트의 최대, 최솟값 찾기 (0) | 2023.02.19 |