Koo's.Co
[OpenCV] 기본 함수 본문
1. imread
cv2.imread(filename, flags=None) -> retval
- filename: str : 불러올 영상 파일
- flags: 영상 파일 옵션 플래그
cv2.IMREAD_COLOR | BGR 컬러 영상 읽기 (default) shape = (rows, cols, 3) |
cv2.IMREAD_GRAYSCALE | 그레이스케일 영상 읽기 shape = (rows, cols) |
cv2.IMREAD_UNCHANGED | 영상 파일 속성 그대로 읽기 PNG: alpha channel 사용 가능 |
2. imwrite
cv2.imwrite(filename, img, params=None) -> retval
- filename: 저장할 영상 파일 이름
- img: numpy.ndarray : 저장할 영상 데이터
- params: 파일 저장 옵션
* ex) [cv2.IMWRITE_JPEG_QUALITY, 90]: JPG 파일 압축률을 90%로 지정
- retval: bool: 정상 저장 -> True, 실패 -> False
3. namedWindow
cv2.namedWindow(winname, flags=None) -> None
opencv에서는 문자열을 이용해 각 창을 구분
- winname: str: 창 이름
- flags: 창 속성 지정 플래그
cv2.WINDOW_NORMAL | 영상 크기를 창 크기에 맞게 지정 - 해상도가 높은 경우 사용 가능 - 영상 크기가 큰 경우 사용 가능 |
cv2.WINDOW_AUTOSIZE | 창 크기를 영상 크기에 맞게 변경 (default) |
4. destroyWindow
cv2.destroyWindow(winname) -> None # 특정 창 닫기
cv2.destroyAllWindows() -> None # 모든 창 닫기
일반적인 경우 프로그램이 종료되면 운영체제에 의해 열려 있는 모든 창이 닫힘
5. moveWindow
cv2.moveWindow(winname, x, y) -> None
- winname: 창 이름
- x, y: 이동할 위치 좌표
6. resizeWindow
cv2.resizeWindow(winname, width, height) -> None
- winname: 창 이름
- width: 변경할 창의 가로 크기
- height: 변경할 창의 세로 크기
****
* cv2.WINDOW_NORMAL 속성을 이용해 창을 생성한 경우에만 크기 설정 가능
* 영상 출력 부분의 크기만을 고려하기 때문에 제목 표시줄, 창 경계는 고려하지 않는다
7. imshow
cv2.imshow(winname, mat) -> None
- winname: 영상을 출력할 창 이름
- mat: 출력할 영상 데이터 (numpy.ndarray)
****
* uint16, int32: 행렬 원소 값을 255로 나눠서 출력
* float32, float64: 행렬 원소 값에 255를 곱해서 출력
* winname에 해당하는 창이 없는 경우 창을 새로 만들어서 출력
* cv2.waitKey() 함수 호출을 해야 영상이 유지됨
* int, float형 데이터를 사용하는 경우 astype을 이용해 타입 변환 후 사용하면 더 안전하게 사용 가능
8. waitKey
cv2.waitKey(delay=None) -> retval
- delay: 밀리초 단위 대기 시간. delay <= 0인 경우 무한히 기다림, default = 0
- retval: 눌린 키 ASCII Code , default=-1
window가 하나라도 있을 때 동작
****
ASCII Code
* 27: ESC
* 13: Enter
* 9: Tab
# 특정 키 입력으로 멈출 수 있음
while True:
if cv2.waitKey() == ord('A'):
break
'Python > 영상처리' 카테고리의 다른 글
[OpenCV] 마스크 연산, ROI(Region of Interest) (0) | 2023.01.04 |
---|---|
[matplotlib] 영상 출력 (0) | 2023.01.04 |
[OpenCV] 영상출력하기 (0) | 2020.09.14 |
[OpenCV] error: (-215:Assertion failed) size.width>0 && size.height>0 in functio (0) | 2020.09.08 |
영상의 표현 방법 (그레이 스케일, 트루 컬러) (0) | 2020.09.03 |