Development/Python

OpenCV-Python 명령어 정리 (1 ~ 15)

투푸월드 2023. 8. 4. 10:30

OpenCV 명령어 정리

1.     cv2.namedWindow(winname[, flags]) à None
설명: 윈도우 이름을 설정한 후, 해당 이름으로 윈도우 생성
winname(str): 
윈도우 이름
flags(int): 
윈도우의 크기조정
  cv2.WINDOW_NORMAL | 
 0 | 윈도우 크기 재조정 가능
  cv2.WINDOW_AUTOSIZE | 
 1 | 표시될 행렬의 크기에 맞춰 자동 조정

 

2.     cv2.imshow(winname, mat) à None
설명: winname 이름의 윈도우에 mat행렬을 영상으로 표시함. 생성된 윈도우가 없으면, winname 이름으로 윈도우를 생성하고 영상을 표시한다.
mat(numpy.ndarray) 
윈도우에 표시되는 영상 (행렬이 화소값을 밝기로 표시)

 

3.     cv2.destoryAllWindows() à None
설명: 인수로 지정된 타이틀 윈도우 파괴

 

4.     cv2.moveWindow(winname, x, y) à None
설명: winname 이름의 윈도우를 지정된 위치인 (x, y)로 이동. 이동되는 윈도우의 기준 위치는 좌측 상단임
x, y: 
모니터 안에서 이동하려는 위치의 x, y 좌표

 

5.     cv2.resizeWindow(winname, width, height) à None
설명: 윈도우의 크기를 재조정한다.
width, height: 
변경 윈도우의 가로, 세로 크기

 

6.     cv2.waitKey([, delay]) à retval
설명: delay(ms) 시간만큼 키 입력을 대기하고, 키 이벤트가 발생하면 해당 키 값 반환
delay: <=0
이면 무한대기, >0이면 그 값 동안 입력 대기, 입력이 없으면 -1 반환

 

7.     cv2.waitKeyEx([, delay]) à retval
설명: cv2.waitKey()와 동일하지만, 전체 키 코드(full key code)를 반환한다. 화살표 키 등을 입력받을 때 사용 가능(OpenCV 3.4이상에서만 지원)

 

8.     cv2.EVENT_FLAG_@@
LBUTTON         : 1       : 
왼쪽 버튼 누르기
RBUTTON         : 2       : 
오른쪽 버튼 누르기
MBUTTON        : 4       : 
중간 버튼 누르기
CTRLKEY          : 8       : [Ctrl] 
키 누르기
SHIFTKEY : 16 : [Shift] 
키 누르기
ALTKEY : 32 : [Alt] 
키 누르기

 

9.     마우스 이벤트 종류: cv2.EVENT_@@
MOUSEMOVE              : 0        : 
마우스 움직임
LBUTTONDOWN                    : 1       : 
왼쪽 버튼 누르기
RBUTTONDOWN                    : 2       : 
오른쪽 버튼 누르기
MBUTTONDOWN                   : 3       : 
중간 버튼 누르기

LBUTTONUP               : 4        : 
왼쪽 버튼 떼기
RBUTTONUP               : 5        : 
오른쪽 버튼 떼기
MBUTTONUP              : 6        : 
중간 버튼 떼기
LBUTTONDBLCLK         : 7        : 
왼쪽 버튼 더블클릭
RBUTTONDBLCLK         : 8        : 
오른쪽 버튼 더블클릭
MBUTTONDBLCLK        : 9        : 
중간 버튼 더블클릭
MOUSEWHEEL            : 10      : 
마우스 휠
MOUSEHWHEEL           : 11      : 
마우스 가로 휠

 

10.  cv2.createTrackbar(trackbarname, winname, value, count, onChange) à None
: 
트랙바를 생성한 후, 지정한 윈도우에 추가하는 함수
trackbarname: 
윈도우에 생성되는 트랙바 이름
winname: 
트랙바의 부모 윈도우 이름
value: 
트랙바 슬라이더의 위치를 반영하는 값 (정수)
count: 
트랙바 슬라이더의 최댓값, 최솟값은 항상 0
onChange: 
트랙바 슬라이더의 값이 변경될 때 호출되는 콜백 함수

 

11.  cv2.getTrackbarPos(trackbarname, winname) à retval
지정한 트랙바의 슬라이더 위치를 반환한다.

 

12.  cv2.setTrackbarPos(trackbarname, winname, pos) à None
지정한 트랙바의 슬라이더 위치를 설정한다.

 

13.  cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) à img
pt1
에서 pt2를 잇는 직선을 그린다.
img: 
그릴 대상 행렬(영상)
pt1, pt2 : (
시작 좌표, 종료 좌표) 튜플
color: 
선의 색상 (정수형 튜플)
thickness : 
선의 두께, cv2.FILLED일 경우 지정된 색으로 내부를 채움
lineType : 
선의 형태
- cv2.LINE_4: 4-
방향 연결선
- cv2.LINE_8: 8-
방향 연결선
- cv2.LINE_AA: 
계단 현상을 감소시킨 선
shift: 
입력 좌표에 대해서 오른쪽으로 비트 시프트 연산한 결과를 좌표로 지정해서 직선을 그림.      

             

14.  cv2.putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]]) à img
text
문자열을 org 좌표에 color색상으로 그림
img: 
문자열을 작성할 대상 행렬(영상)
text: 
작성할 문자열
org: 
문자열의 시작 좌표, 문자열에서 가장 왼쪽 하단을 의미
fontFace: 
문자열의 폰트
color: 
글자의 색상
thichness: 
글자의 굵기
lineType: 
글자 선의 형태
bottomLeftOrigin: 
영상의 원점 좌표 설정

 

15.  cv2.FONT_HERSHEY_@@ (폰트 지정)
SIMPLEX          :0        :
 크기 산세리프 폰트
PLAIN             :1        :
작은 크기 산세리프 폰트
DUPLEX           :2        :2
 산세리프 폰트
COMPLEX        :3        :
중간 크기 세리프 폰트
TRIPLEX           :4        :3
 세리프 폰트
COMPLEX_SMALL:5      :COMPLEX 
보다 작은 크기
SCRIPT_SIMPLEX:6        :
필기체 스타일 폰트
SCRIPT_COMPLEX:7      :
복잡한 필기체 스타일
cv2.FONT_ITALIC:16      :
이탤릭체를 위한 플래그