본문으로 바로가기

파이썬 OpenCV 트랙바 사용하기

category OpenCV 2020. 7. 14. 18:10

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()