cv.inRange() 함수를 사용하여 이미지에서 특정 색상 객체 추출
이미지에서 특정 색상 객체를 추출하려면 cv.inRange() 함수를 사용할 수 있습니다. 이 예제에서는 이미지에서 파란색 객체를 추출합니다.
색상 범위 정의
먼저, HSV 색 공간에서 파란색의 하한 및 상한을 정의합니다.
## 파란색은 HSV 에서 360 도 중 약 240 도의 색조로 표현됩니다.
## OpenCV-HSV 의 색조 범위는 0-180 이며, 8 비트로 값을 저장합니다.
## 따라서 파란색은 OpenCV-HSV 에서 H 값이 약 240 / 2 = 120 으로 표현됩니다.
## 파란색을 올바르게 감지하려면 다음 값을 선택할 수 있습니다.
blue_lower = np.array([100, 150, 0], np.uint8)
blue_upper = np.array([140, 255, 255], np.uint8)
이미지 임계 처리
HSV 이미지에 임계값을 적용하여 파란색만 얻습니다.
## 파란색 마스크
blue_mask = cv.inRange(hsv_image, blue_lower, blue_upper)
마스크 적용
마스크를 원본 이미지에 적용하여 파란색 객체를 추출합니다.
## 마스크를 사용하여 파란색 객체 추출
blue_object = cv.bitwise_and(image, image, mask=blue_mask)
추출된 객체 표시
원본 이미지와 추출된 파란색 객체를 표시합니다.
## 이미지를 지정된 파일에 저장
cv.imwrite('blue_object.jpg', blue_object)