트랙바라고 하는 것은 사용자가 지정한 범위의 값을 컨트롤할 수 있는 컴포넌트라고 할 수 있다.
트랙바 또는 슬라이더 컨트롤이라고도 불린다.
그리고 OpenCV에서 제공하는 유일한 그래픽 사용자 인터페이스라고 볼 수 있다.
트랙바를 사용하기 위해서는 cv2.createTrackbar 라는 함수를 사용해야한다.
( trackbarname, windowname, value, count, onchange ) 의 인자로 이루어져 있다.
value는 트랙바의 위치 초기값이고
count 는 트랙바의 최대값 ( 최소값은 항상 0으로 고정 )
onCange는 트랙바의 위치가 변경될때 마다 호출할 콜백함수의 이름이다.
그리고 트랙바 생성도 마찬가지로
imshow 를 한뒤에 createTrackbar를 호출해주어야한다.
위 코드처럼 level이라는 트랙바를 생성해서 image라는 이미지를 불러온뒤
0 에서부터 시작해서 16단계로 나눠준다.
그리고 한단계씩 실행될때 마다 on_level_changed라는 함수를 호출 해라 라는 의미의 코드이다.
on_level_chagned의 함수를 살펴보면
pos라는 트랙바의 값을 받아 그 값에 16을 곱해서 사용하게 되는데
이를 img의 영상에 [:,:]라고 곱해서 출력할 수 있다.
그리고 255를 넘는 값이 img에 들어왔을때는 256 -> 0 으로 변환되기때문에
만약 255를 넘는 값이 나온다면 강제로 255로 셋팅해주는 처리를 꼭 해주어야 한다.
그리고 np.clip 이라는 함수를 사용할수도 있는데np.clip(level,0,255) 라고 한다면 0보다 작은 값은 무조건 0255보다 큰값은 무조건 255로 변환시켜 주는 함수이다.
* 이처럼 자동으로 최대 최소값을 지정해주는 것을 포화연산이라고 한다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
'Program > OPEN_CV' 카테고리의 다른 글
[Open CV] OpenCV-Python 기초 사용법 _ 실전코딩 (0) | 2022.05.05 |
---|---|
[Open CV] OpenCV-Python 기초 사용법 _ 연산시간 측정 방법 (0) | 2022.05.04 |
[Open CV] OpenCV-Python 기초 사용법 _ 마우스 이벤트 처리하기 (0) | 2022.05.02 |
[Open CV] OpenCV-Python 기초 사용법 _ 키보드 이벤트 처리하기 (0) | 2022.05.01 |
[Open CV] OpenCV-Python 기초 사용법 _ 카메라와 동영상 처리하기2 (0) | 2022.04.30 |