[ch02] Python 기초 사용법 - 트랙바 사용하기

빨주노·2021년 8월 11일
0

트랙바(Trackbar)란?

  • 프로그램 동작 중 사용자가 지정한 범위 안의 값을 선택할 수 있는 컨트롤
  • OpenCV에서 제공하는 (유일한?) 그래픽 사용자 인터페이스

트랙바 생성 함수

cv2.createTrackbar(trackbaName, windowName, value, count, onChange) -> None
  • trackbarName : 트랙바 이름
  • windowName : 트랙바를 생성할 창 이름
  • value : 트랙바 위치 초기값
  • count : 트랙바 최댓값. 최솟값은 항상 0.
  • onChange : 트랙바 위치가 변경될 때마다 호출할 콜백 함수 이름. 트랙바 이벤트 콜백 함수는 다음 형식을 따른다.
    onChange(pos) -> None

트랙바를 사용한 그레이스케일 레벨 표현

import numpy as np
import cv2

def on_level_change(pos):
    value = pos * 16
    if value >= 255:
       value = 255
    
    img[:] = value
    cv2.imshow('image', img)

img = np.zeros((480, 640), np.uint8)

cv2.namedWindow('image')
cv2.createTrackbar('level', 'image', 0, 16, on_level_change)

cv2.imshow('image', img)
cv2.waitKey()
cv2.destroyAllWindows()
  • pos=16일 때는 밝기가 0에서부터 255까지 변화한다.
  • pos=8로 바꾸었을 때는 어떻게 될까?

    value의 값에 최대 128까지밖에 들어가지 않으므로, 밝기도 그만큼만 밝아지게 된다.
profile
딥 하게 딥러닝 하는중

0개의 댓글