Python
[Python] 이미지 읽어오기, RGB 값 추출, RGB 평균 구하기
winches
2022. 5. 16. 13:27
이미지를 읽어오고 RGB값을 추출하여 그 평균을 사용하려고 아래와 같은 코드를 시행함.
우선 png 파일을 matplotlib.image.imread를 이용해 읽어옴.
해당 파일의 R, G, B를 각 리스트에 append하고 평균값을 출력함.
주어진 경로에서 각 이미지의 RGB 평균값을 구하기 위해 아래와 같이 반복문을 작성함.
평균 RGB값을 소수점 셋째자리까지 출력하도록 함.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import matplotlib.image as mpimg
import numpy as np
import glob
import os
path = './'
file_list = os.listdir(path)
Red = []
Green = []
Blue = []
for i in range(len(file_list)):
img = mpimg.imread(path + file_list[i])
for x in img:
for y in x:
Red.append(y[0])
Green.append(y[1])
Blue.append(y[2])
R_avg = sum(Red) / len(Red)
G_avg = sum(Green) / len(Green)
B_avg = sum(Blue) / len(Blue)
print(file_list[i][0:-4], "(R: {:.3f}".format(R_avg), "G: {:.3f}".format(G_avg), "B: {:.3f})".format(B_avg))
|
cs |
다수의 이미지에서 RGB 평균을 추출할때 유용하게 사용하였다.
이미지를 다룰때 주의할점은 단순히 이미지 경로만 가져와서는 안되고 imread와 같은 모듈로 읽어와야 함.