본문 바로가기
프로그램

[파이썬] 문제 : 이미지의 영역의 RGB값 평균

by 오디세이99 2024. 7. 28.
728x90
반응형
from PIL import Image
import numpy as np

def get_average_rgb(image_path, x1, y1, x2, y2):  # 함수
    image = Image.open(image_path)            # 이미지 열기
    tmp = image.crop((x1, y1, x2, y2))        # 특정 영역 자르기
    np_tmp = np.array(tmp)                    # NumPy 배열로 변환
    average = np_tmp.mean(axis=(0, 1))        # RGB 평균 계산
    # print(np.array(image))                    # image 정보
    # print(np_tmp)                             # 영역의 정보
    # print(average)                            # 형균정보
    return list(map(int, average))            # tuple(int(v) for v in average)

image_path = "E:\\RnD\\지식IN\\computer악어.png"         # 이미지파일 지정
x1, y1 = 100, 100  # 시작점 좌표
x2, y2 = 300, 300  # 끝점 좌표

avg_rgb = get_average_rgb(image_path, x1, y1, x2, y2)    # 함수 실행

print(f"평균 RGB 값: {avg_rgb}")
평균 RGB 값: [112, 138, 130]
728x90
반응형

댓글