>백엔드 개발 >파이썬 튜토리얼 >Python OpenCV를 사용하여 자연 이미지에서 녹색 객체 감지를 위한 임계값을 정의하는 방법은 무엇입니까?

Python OpenCV를 사용하여 자연 이미지에서 녹색 객체 감지를 위한 임계값을 정의하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-02 21:04:30714검색

How to Define Threshold Values for Green Object Detection in Natural Images with Python OpenCV?

Python OpenCV를 사용하여 자연 이미지에서 녹색 객체 감지를 위한 임계값 정의

컴퓨터 비전 애플리케이션에서는 이미지에서 특정 색상을 분리할 수 있습니다. 객체 감지 및 분석에 매우 중요합니다. 자연 환경에서는 녹색 물체를 정확하게 감지하는 임계값을 정의하는 것이 어렵습니다.

녹색 감지를 위한 임계값을 정의하기 위한 일반적인 접근 방식은 이미지를 색조, 채도, 값(HSV)으로 변환하는 것입니다. 색상 범위를 지정하는 보다 직관적인 방법을 제공하는 색 공간.

방법 1: HSV 색상 범위 사용

한 가지 전략은 색상 범위에 해당하는 HSV 범위를 식별하는 것입니다. 원하는 녹색 색상. 예를 들어 HSV에서 (40, 40, 40) ~ (70, 255, 255)와 같은 범위를 선택하여 녹색 객체를 정의할 수 있습니다.

방법 2: cv2.inRange() 사용

또 다른 방법은 OpenCV의 cv2.inRange() 함수를 사용하는 것입니다. 이 함수는 두 가지 인수를 사용합니다.

  • 하한 경계: 픽셀이 녹색이 ​​아닌 것으로 간주되는 HSV 값.
  • 상한 경계: 픽셀이 녹색이 ​​아닌 것으로 간주되는 HSV 값 .

예: 녹색 해바라기 감지

다음 예에서는 이미지에서 녹색 해바라기 꽃잎을 감지합니다.

<code class="python">import cv2
import numpy as np

# Read image
img = cv2.imread("sunflower.jpg")

# Convert to HSV
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# Define HSV range for green (36, 25, 25) ~ (70, 255, 255)
mask = cv2.inRange(hsv, (36, 25, 25), (70, 255, 255))

# Slice the green
imask = mask > 0
green = np.zeros_like(img, np.uint8)
green[imask] = img[imask]

# Save
cv2.imwrite("green.png", green)</code>

이미지를 HSV로 변환하고 임계값을 적용하면 이미지에서 녹색 영역을 효과적으로 분리하는 동시에 녹색이 아닌 영역을 다른 색상(예: 검정색)으로 변환할 수 있습니다.

위 내용은 Python OpenCV를 사용하여 자연 이미지에서 녹색 객체 감지를 위한 임계값을 정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.