이미지에서 특정 색상 범위 비율 검출

파이썬(Python)에서 이미지내 특정 색상의 비율 검출 하는 소스입니다.

 

이미지 처리 라이브러리인 OpenCV와 NumPy를 사용합니다. 먼저 필요한 라이브러리를 설치합니다.

pip install opencv-python numpy

 

아래 소스는 초록색 영역의 비율을 구하는 예제입니다.

import cv2
import numpy as np

def calculate_wide_green_crop_percentage(image_path):
    # 이미지 불러오기
    image = cv2.imread(image_path)
    
    # 이미지를 HSV 색 공간으로 변환
    hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
    
    # 넓은 초록색 범위 정의
    lower_green = np.array([25, 20, 20])
    upper_green = np.array([100, 255, 255])
    
    # 넓은 초록색 마스크 생성
    mask = cv2.inRange(hsv, lower_green, upper_green)
    
    # 마스크에서 넓은 초록색 픽셀 수 계산
    wide_green_crop_pixels = np.count_nonzero(mask)
    
    # 이미지 전체 픽셀 수 계산
    total_pixels = image.shape[0] * image.shape[1]
    
    # 넓은 초록색 비율 계산 및 반환
    wide_green_crop_percentage = (wide_green_crop_pixels / total_pixels) * 100
    return wide_green_crop_percentage

image_path = 'your_image_path.jpg'
wide_green_crop_percentage = calculate_wide_green_crop_percentage(image_path)
print(f"넓은 초록색 영역의 비율: {wide_green_crop_percentage:.2f}%")