1. 이미지 불러오기
윈도우에서는 컨트롤+s 로 이미지 저장, 컨트롤 + c 로 이미지 복사 기능 제공함
import sys
import cv2
print('Hello OpenCV', cv2.__version__) # 버전 확인
img = cv2.imread('cat.bmp') # 파일을 불러와 img 변수에 저장
#예외 처리 (이미지 못 불러 왔을 때)
if img is None:
print('Image load Failed')
sys.exit()
cv2.namedWindow('image') # 'image'라는 이름의 윈도우 창 생성
cv2.imshow('image', img) # 'image'윈도우 창에 img 출력
cv2.waitKey() # 키보드 입력 있을 때 까지 대기
cv2.destroyAllWindows() #생성된 모든 창을 닫음
2. Open CV 기본 함수
- cv2.imread(파일 이름, falgs = None)
- 기능 : 영상 파일 불러오기
- flags 옵션
- cv2.IMREAD_COLOR (기본, BRG 컬러)
- cv2.IMREAD_GRAYSCALE (흑백)
- cv2.IMREAD_UNCHANGED(속성 그대로)
- cv2.imwrite(저장할 파일 이름, 저장할 데이터)
- 기능 : 영상 파일 저장하기
- cv2.namedWindow(생성할 윈도우 창 이름, flags = None)
- 기능 : 새로운 윈도우 창 띄우기
- flags 옵션
- cv2.WINDOW_NORMAL 영상 크기를 창 크기에 맞게 지정(마우스로 움직여서 크기 조정 가능)
- cv2.WINDOW_AUTOSIZE 창 크기를 영상 크기에 맞춰 띄움 (기본값)
- cv2.destroyALLWindows()
- 기능 : 모든 윈도우 창 닫기
- cv2.destroyWindow(윈도우 창 이름) : 특정 창 하나 닫음
- cv2.imshow(윈도우창 이름, 출력할 데이터)
- 기능 : 영상 출력하기
- cv2.waitKey() 함수 호출해야 화면에 영상이 나타남
- 윈도우창 이름 없으면 창을 새로 만들어서 출력함
- nint16, int32 자료형 행렬의 경우, 행렬 원소 값을 255로 나눠서 출력
- float32, float64 자료형 행렬의 경우, 행렬 원소 값에 255를 곱해서 출력
- cv2.waitKey(delay=None)
- 기능 : 키보드 입력 대기
- delay : ms 단위
- 리턴 값 : 눌린 키 값(아스키 코드), 키가 눌리지 않으면 -1
- 주요 아스키 코드 : 27(ESC), 13(Enter)
- 특정키 입력 받으면 멈추는 코드 ( 아래 코드는 q 입력하면 창 사라짐)
while True:
if cv2.waitKey() == ord('q'):
break
'Computer Vision > Python' 카테고리의 다른 글
[Open CV 기초 5] 폴더에서 여러 파일 읽어오기(os, glob), 이미지 슬라이드쇼 (0) | 2021.12.30 |
---|---|
[Open CV 기초 3] matplotlib를 이용하여 영상 출력하기 (0) | 2021.12.30 |
[Open CV 기초1] VS Code 설치, Open CV 설치,[modulenotfounderror: no module named 'cv2'] 에러 해결 (0) | 2021.12.30 |