코드민수
[Python] 경로 내 이미지 전체의 평균, 표준편차 구하기 본문
BIG
from glob import glob
import numpy as np
from osgeo import gdal
glob_image_dir = 'D:/temp/image/*.tif' # 이미지 확장자 수정
image_filename_list = glob(glob_image_dir)
def load_images():
global image_filename_list
image_list = []
for idx, image_filename in enumerate(image_filename_list):
image_ds = gdal.Open(image_filename)
image = image_ds.ReadAsArray().astype(np.int16) # 0~255 이미지는 int8로 충분
image_list.append(image)
if idx % 10 == 0: print('load_complete_{}'.format(idx))
np_image = np.concatenate(image_list, axis=0)
return np_image
np_image = load_images()
ch0_mean = np.mean(np_image[:, :, 0])
ch1_mean = np.mean(np_image[:, :, 1])
ch2_mean = np.mean(np_image[:, :, 2])
ch0_std = np.std(np_image[:, :, 0])
ch1_std = np.std(np_image[:, :, 1])
ch2_std = np.std(np_image[:, :, 2])
print(f'Mean: {ch0_mean}, {ch1_mean}, {ch2_mean}')
print(f'Std: {ch0_std}, {ch1_std}, {ch2_std}')
단순하게 3 밴드 이미지의 밴드별 평균과 표준편차를 계산하는 파이썬 코드입니다.
전체 이미지를 concat하여 연산하기 때문에 이미지가 적은 경우 사용하기 용이합니다.
경로만 변경하면 간단하게 사용 가능한 코드입니다.
glob_image_dir: 이미지 폴더 + 확장자
LIST
'[Python] > 코드' 카테고리의 다른 글
[Tensorboard] 로그파일 열기 (0) | 2023.06.14 |
---|---|
[Python] plt.savefig() 시 생기는 여백 제거 방법 (0) | 2023.05.10 |
[Python] Tensorflow & Pytorch GPU 사용 확인 (0) | 2023.04.07 |
[Python] 레이블 없는 이미지 찾기 (0) | 2023.04.03 |
[Python] JSON 파일에서 오브젝트 클래스 분석 (히스토그램) (0) | 2023.03.31 |