Python OpenCV - 트랙바(Track Bar)

BANG·2020년 11월 28일
0

OpenCV

목록 보기
12/16

트랙바(Track Bar)

  • 스코롤 바의 하나로, 슬라이더 바의 형태
  • 일정 범위 내이 값을 변경할 때 사용
  • 생성된 윈도우 창에 트랙바를 부착 가능(미리 윈도우 창이 생성된 상태여야 함)

import numpy as np
import cv2
 
def onChange(pos): # 트랙바 핸들러
    global img
    # 트랙바의 값 받아오기
    # 트랙바 이름, 윈도우 창 이름
    r = cv2.getTrackbarPos('R','img')
    g = cv2.getTrackbarPos('G','img')
    b = cv2.getTrackbarPos('B','img')                   
    img[:] = (b, g, r)
    cv2.imshow('img', img)
 
img = np.zeros((512, 512, 3), np.uint8)
cv2.imshow('img',img)	# GUI(윈도우)창 생성, 이미지 보여주기
 
# 트랙바 생성
# 트랙바 이름, 윈도우 창 이름, 최소값, 최대값, 콜백 함수
cv2.createTrackbar('R', 'img', 0, 255, onChange)
cv2.createTrackbar('G', 'img', 0, 255, onChange)
cv2.createTrackbar('B', 'img', 0, 255, onChange)
 
# 트랙바 위치 초기화
# 트랙바 이름, 위노우 창 이름, 초기값
#cv2.setTrackbarPos('R', 'img', 0)
#cv2.setTrackbarPos('G', 'img', 0)
cv2.setTrackbarPos('B', 'img', 255)
 
cv2.waitKey()
cv2.destroyAllWindows()
profile
Record Everything!!

0개의 댓글