본문으로 바로가기

파이썬 OpenCV 트랙바 사용하기

category OpenCV 2020. 7. 14. 18:10
728x90

createTrackbar(trackbarName, windowName, value, count, onChange)

트랙바 이름, 트랙바가 생성될 윈도우창, 초기 값, 범위 마지막, 함수(트랙바의 값이 변할 때마다 호출되는 콜백함수)

콜백 함수의 인자로 트랙바의 값이 들어옵니다.

 

트랙바를 이용하여 이미지 밝기 조절하기

트랙바 이름 : level

트랙바가 생성될 윈도우창 : trightness_up

초기 값 : 0

범위 마지막 : 20

함수 : onChange

import cv2
import numpy as np

def onChange(k):
    t = (k*5, k*5, k*5)
    array = np.full(img.shape, t, dtype=np.uint8)
    dst = cv2.add(img, array)
    cv2.imshow('brightness_up', dst)

img = cv2.imread('img.jpg')
# cv2.namedWindow('brightness_up')
cv2.imshow('brightness_up', img)

cv2.createTrackbar('level', 'brightness_up', 0, 20, onChange)

cv2.waitKey()
cv2.destroyAllWindows()

 

함수하나만 바꾸었습니다.

명도를 내리는 코드입니다.

import cv2
import numpy as np

def onChange(k):
    t = (k*5, k*5, k*5)
    array = np.full(img.shape, t, dtype=np.uint8)
    dst = cv2.subtract(img, array)
    cv2.imshow('brightness_down', dst)

img = cv2.imread('img.jpg')
# cv2.namedWindow('brightness_down')
cv2.imshow('brightness_down', img)

cv2.createTrackbar('level', 'brightness_down', 0, 20, onChange)

cv2.waitKey()
cv2.destroyAllWindows()