728x90
반응형
코드 및 이미지 : https://github.com/Seokii/Study_OpenCV
이번에는 트랙 바를 만들고 영상(이미지)의 밝기를 조절하는 구현 해 보겠습니다.
cv2.createTrackbar(), cv2.getTrackbarPos()
트랙 바는 일정한 범위에서 특정한 값을 선택할 때 사용하는 스크롤바를 의미합니다.
OpenCV에서는 cv2.createTrackbar() 함수로 트랙 바를 생성할 수 있습니다.
cv2.createTrackbar( trackbarname, winname, value, count, onChange ) -> None
- trackbarname : 윈도우에 생성되는 트랙 바의 이름
- winname : 트랙 바의 부모 윈도우 이름
- value : 트랙 바의 위치 반영 값
- count : 트랙 바의 최댓값 (최솟값은 항상 0)
- onChange : 트랙 바의 값이 변경될 때 호출되는 콜백 함수
cv2.getTrackbarPos( trackbarname, windowName )
- trackbarname : 불러올 트랙 바의 이름
- windowName : 윈도우 이름
주피터 노트북 코드 작성
import numpy as np
import cv2
- 필요한 라이브러리를 불러옵니다.
def onChange(pos):
global img
add_value = pos - int(img[0][0])
img = img + add_value
cv2.imshow('TrackBar Test', img)
- 콜백 함수 onChange()를 정의합니다.
img = np.zeros((400,600), np.uint8)
- 영상을 생성합니다.
cv2.namedWindow('TrackBar Test')
cv2.createTrackbar('brightness', 'TrackBar Test', img[0][0], 255, onChange)
- 트랙 바의 윈도우를 만들고, 트랙 바를 생성해 줍니다.
while True:
cv2.imshow('TrackBar Test',img)
trackbar1 = cv2.getTrackbarPos('brightness', 'TrackBar Test')
end_key = cv2.waitKey(0)
if end_key == 27:
break
cv2.destroyAllWindows()
- 실행 코드 / ESC키를 누르면 종료
- 결과 사진입니다. 트랙 바의 위치에 따라 생성된 영상의 밝기가 변하는 것을 볼 수 있습니다.
728x90
반응형
'머신러닝 & 딥러닝 > 컴퓨터 비전' 카테고리의 다른 글
[OpenCV with Python] - 06. matplotlib에 이미지 불러오기 cv2.cvtColor() (0) | 2021.09.15 |
---|---|
[OpenCV with Python] - 05. 사진 파일 불러오기 (0) | 2021.09.12 |
[OpenCV with Python] - 04. 텍스트 입력해보기 (0) | 2021.09.04 |
[OpenCV with Python] - 03. 간단한 도형 그리기 (선, 사각형, 원) (0) | 2021.09.04 |
[OpenCV with Python] - 01. OpenCV 시작하기 (0) | 2021.09.02 |
댓글