import cv2
src = cv2.imread("Images/tomato.jpg", cv2.IMREAD_COLOR)
src = cv2.pyrDown(src)
hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)
cv2.namedWindow("TrackBar Windows")
cv2.createTrackbar("H-Low1","TrackBar Windows", 0, 180, lambda x : x)
cv2.createTrackbar("H-High1","TrackBar Windows",0, 180, lambda x : x)
cv2.createTrackbar("H-Low2","TrackBar Windows", 0, 180, lambda x : x)
cv2.createTrackbar("H-High2","TrackBar Windows",0, 180, lambda x : x)
cv2.createTrackbar("S-Th","TrackBar Windows", 0, 255, lambda x : x)
cv2.createTrackbar("V-Th","TrackBar Windows", 0, 255, lambda x : x)
cv2.setTrackbarPos("H-Low1","TrackBar Windows", 0)
cv2.setTrackbarPos("H-High1","TrackBar Windows",5)
cv2.setTrackbarPos("H-Low2","TrackBar Windows", 170)
cv2.setTrackbarPos("H-High2","TrackBar Windows",180)
cv2.setTrackbarPos("S-Th","TrackBar Windows", 100)
cv2.setTrackbarPos("V-Th","TrackBar Windows", 100)
while cv2.waitKey(1) != ord('q'):
hsv1_low = cv2.getTrackbarPos("H-Low1", "TrackBar Windows")
hsv1_high = cv2.getTrackbarPos("H-High1", "TrackBar Windows")
hsv2_low = cv2.getTrackbarPos("H-Low2", "TrackBar Windows")
hsv2_high = cv2.getTrackbarPos("H-High2", "TrackBar Windows")
hsv_s = cv2.getTrackbarPos("S-Th", "TrackBar Windows")
hsv_v = cv2.getTrackbarPos("V-Th", "TrackBar Windows")
lower_hsv = cv2.inRange(hsv, (hsv1_low, hsv_s, hsv_v), (hsv1_high, 255, 255))
upper_hsv = cv2.inRange(hsv, (hsv2_low, hsv_s, hsv_v), (hsv2_high, 255, 255))
added_hsv = cv2.addWeighted(lower_hsv, 1.0, upper_hsv, 1.0, 0.0)
hsv_out = cv2.bitwise_and(hsv, hsv, mask = added_hsv)
result = cv2.cvtColor(hsv_out, cv2.COLOR_HSV2BGR)
cv2.imshow("TrackBar Windows", result)
cv2.destroyAllWindows()
- HSV에서 H값은 일반적으로 하나만 사용하면 되지만 RED의경우 180과0이 분리되어 있으므로 두개를 사용하면 됨
- 위의 그림과 같이 H 설정값을 하나 비활성화 하면 됨
- S와 V도 마찬가지로 설정하면 S설정값, V설정값 이상만 활성화됨
'PROGRAM > OpenCV' 카테고리의 다른 글
Object Tracking (0) | 2021.01.12 |
---|---|
pyQt5 + cv2.findContours (0) | 2020.06.11 |
Anaconda - (ModuleNotFoundError: No module named 'cv2') (1) | 2020.05.19 |
opencv python - TrackBar 사용하기(YCrCb) (0) | 2020.04.22 |
참고자료 (0) | 2020.04.21 |