OpenCV
[OpenCV] 기초 6 : 트랙바
트랙바(Trackbar)란? 프로그램 동작 중 사용자가 지정한 범위 안의 값을 선택할 수 있는 컨트롤 OpenCV에서 제공하는 그래픽 사용자 인터페이스(GUI) ✔ 트랙바 생성 함수 - cv2.createTrackbar cv2.createTrackbar(trackbarName, windowName, value, count, onChange) trackbarName : 트랙바 이름 windowName : 트랙바를 생성할 창 이름 value : 트랙바 위치 초기값 count : 트랙바 최댓값. 최솟값은 항상 0 onChange : 트랙바 위치가 변경될 때마다 호출할 콜백 함수 이름 트랙바 이벤트 콜백 함수는 다음 형식을 따른다. 💬 실습 - 트랙바를 이용한 그레이스케일 레벨 표현하기 import numpy ..
[OpenCV] 기초 5 : 키보드 이벤트/ 마우스 이벤트
키보드 이벤트 처리하기 ✔ 키보드 입력 대기 함수 - cv2.waitKey cv2.waitKey(delay=None) delay : 밀리초 단위 대기 시간. delay ≤ 0 이면 무한히 기다림. 기본값은 0. 눌린 키 값(ASCII code). 키가 눌리지 않으면 -1을 반환한다. 참고 사항 cv2.waitKey() 함수는 OpenCV 창이 하나라도 있을 때 동작 특정 키 입력을 확인하려면 ord() 함수를 이용 주요 특수키 코드: 27(ESC), 13(ENTER), 9(TAB) while True: if cv2.waitKey() == ord('q'): break ✔ 키보드 특수키 입력 처리하기 Windows 운영체제에서 방향키, 함수키 등의 특수키 입력은 cv2.waitKeyEx() 함수를 사용한다...
[OpenCV] 기초 4 : 카메라와 동영상 처리
카메라와 동영상 처리하기 OpenCV에서는 카메라와 동영상으로부터 프레임(frame)을 받아오는 작업을 cv2.VideoCapture 클래스 하나로 처리한다. ✔ 카메라 열기 cv2.VideoCapture(index, apiPreference=None) index : camera_id + domain_offset_id 시스템 기본 카메라를 기본 방법으로 열려면 index에 0을 전달 apiPreference : 선호하는 카메라 처리 방법을 지정 cv2.VideoCapture.open(index, apiPreference=None) 성공하면 True, 실패하면 False를 반환한다. ✔ 동영상, 정지 영상 시퀀스, 비디오 스트림 열기 - cv2.VideoCapture cv2.VideoCapture(file..
[OpenCV] 기초 3 : 마스크 / 그리기 함수
마스크 연산과 ROI ROI Region of Interest, 관심 영역 영상에서 특정 연산을 수행하고자 하는 임의의 부분 영역 마스크 연산 OpenCV는 일부 함수에 대해 ROI 연산을 지원하며, 이때 마스크 영상을 인자로 함께 전달해야 함 (e.g.) cv2.copyTo(), cv2.calcHist(), cv2.bitwise_or(), cv2.matchTemplate(), etc. 마스크 영상은 cv2.CV_8UC1 타입(그레이스케일 영상) 마스크 영상의 픽셀 값이 0이 아닌 위치에서만 연산이 수행됨 → 보통 마스크 영상으로는 0 또는 255로 구성된 이진 영상(binary image)을 사용 ✔ 마스크 연산을 지원하는 픽셀 값 복사 함수 dst = cv2.copyTo(src, mask, dst=N..