OpenCV 4. 이미지에 트랙바 넣기

Jungyu Jin·2021년 12월 28일
0

OpenCV-Practice

목록 보기
5/14
  • 트랙바 생성
cv2.createTrackbar(trackbarname,winname,value,count,onChange)

trackbarname: 트랙바 이름
winname: 윈도우 이름
value: 트랙바 시작 값
count: 트랙바 끝 값
onChange: 트랙바 이벤트 발생시 수행되는 TrackbakCallback
TrackbarCallback::def onChange(x)

  • 트랙바의 현재 위치 반환
cv2.getTrackbarPos(trackbarname,winname) -> retval

retval : 트랙바 내의 현재 위치

import cv2
import numpy as np

def onChange(x):
    pass
def trackbar():
    img = np.full((200,512,3),255,np.uint8)
    cv2.namedWindow('Color_Palette')

    cv2.createTrackbar('B','Color_Palette',0,255,onChange)
    cv2.createTrackbar('G','Color_Palette',0,255,onChange)
    cv2.createTrackbar('R','Color_Palette',0,255,onChange)

    switch ='0:OFF\n1:ON'
    cv2.createTrackbar(switch,'Color_Palette',0,1,onChange)
    while True:
        cv2.imshow('Color_Palette',img)
        k = cv2.waitKey(1) & 0xFF
        if k == 27:
            break
        b=cv2.getTrackbarPos('B','Color_Palette')
        g=cv2.getTrackbarPos('G','Color_Palette')
        r=cv2.getTrackbarPos('R','Color_Palette')
        s=cv2.getTrackbarPos(switch,'Color_Palette')
        if s == 0:
            img[:] = 0
        else:
            img[:] = [b,g,r]
    cv2.destroyAllWindows()
trackbar()

0개의 댓글