이번 포스팅은 기 포스팅한 HSV 값 추출하는 코드의 심화편이라고 생각하시면 됩니다. 그때 HSV 값을 추출하기 위한 코드를 이용하여 간단하게 응용 코드를 만들어 보겠습니다.
HSV (Hue, Saturation, Value) 을 이용하여 원하는 색깔 추출
: HSV(Hue, Saturation, Value)를 이용하여 원하는 색깔을 추출하도록 하겠습니다. 색깔의 Range를 아직 제대로 파악하지 못하고 있어서 일단 알고 있는 오렌지 색 Range를 이용하여, 오렌지 색깔만 추출해보도록 하겠습니다.
코드 분석
Before_Orang = cv2.inRange(단일 채널 , 최소값, 최대값) - 오렌지 색깔은 8~20범위라고 합니다.
:단일 채널의 값을 이용하여 최소값, 최소값을 조정하여 Orange 색깔만 추출
orange = cv2.bitwise_and(HSV 타입 변환 기존 이미지, HSV 타입 변환 기존 이미지, mask = 덮어쒸울 단일 채널 이미지)
:기존 이미지에 Orange 색깔만 추출한 이미지를 덮씌움
orange = cv2.cvtColor(HSV 타입 이미지, cv2.COLOR_HSV2BGR)
: HSV 타입에서 BGR 타입으로 변환함
# opencv 라이브러리 선언하기
import cv2
# 원하는 이미지의 경로를 지정하여, 읽어옴
test_image = cv2.imread("003.JPG", cv2.IMREAD_COLOR)
# 읽어온 이미지 BGR 형태를 HSV 형식으로 변환해줌
test_image_HSV = cv2.cvtColor(test_image, cv2.COLOR_BGR2HSV)
# H,S,V 의 속성을 나눠줌
h, s, v = cv2.split(test_image_HSV)
# 단일 채널의 값을 이용하여 최소값, 최소값을 조정하여 Orange 색깔만 추출
Before_Orang = cv2.inRange(h, 8, 20)
# 기존 이미지에 Orange 색깔만 추출한 이미지를 덮씌움
orange = cv2.bitwise_and(test_image_HSV, test_image_HSV, mask = Before_Ornage)
# HSV 타입에서 BGR 타입으로 변환함
orange = cv2.cvtColor(orange, cv2.COLOR_HSV2BGR)
cv2.imshow("Orange_Only", orange)
cv2.waitKey(0)
cv2.destroyAllWindows()
Orange 색깔만 추출한 사진 출력하기
: 위의 코드를 구현을 하면 아래와 같이 오렌지 색깔만 입힌 이미지만 선명하게 나오는 걸 확인 하실 수 있습니다. 색 범위를 좀 더 공부하여 다양하게 적용해야 할 거 같습니다.
맺음말
: 기 포스팅한 HSV 값 추출하는 코드를 이용하여 원하는 색깔을 추출하는 코드를 짜봤습니다. 정말 신기하게 원하는 색깔에 맞춰서 출력이 되는 걸 확인 하실 수 있습니다. 색 Range의 구분이 아직 명확하지 않은 상태라 이 부분에 대해서 좀 더 공부를 해야 할 거 같습니다. 그럼 이만 마무리 하도록 하겠습니다. 감사합니다.
제 Posting이 조금이나마 정보 전달에 도움이 되셨길 빌며, 되셨다면, 구독, 댓글, 공감 3종 세트 부탁 드립니다. 감사합니다.
[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁 드립니다. 검토 후 수정 및 삭제 조치 하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]
'파이썬 (Python) > 딥러닝 (Deep Learning)' 카테고리의 다른 글
Python opencv 이용하여 이미지 가장자리 검출하는 방법 (0) | 2021.03.06 |
---|---|
Python opencv 이용하여 이미지 채널 범위 병합하는 방법 (0) | 2021.03.05 |
Python opencv 이용하여 이미지 Hue, Saturation, Value 값 구현하는 방법 (0) | 2021.03.05 |
Python 파이썬 머신 러닝(Machine Learning) 기초 - 기술 통계량 및 추정량에 대한 이해 (0) | 2021.03.01 |
Python 파이썬 머신 러닝(Machine Learning) 기초 - 통계학, 머신 러닝 자료 Type (0) | 2021.03.01 |
댓글