[ch01] Python 시작하기 - OpenCV 주요 함수 설명

빨주노·2021년 8월 4일
0
  • OpenCV API 도움말 찾기
  • 영상 파일 불러오기
cv2.imread(filename, flags=None) -> retval
  • filename : 불러올 영상 파일 이름 (문자열)
  • flags : 영상 파일 불러오기 옵션 플래그
    • cv2.IMREAD_COLOR
      • BGR 컬러 영상으로 읽기 (기본값)
      • shape = (rows, cols, 3)
    • cv2.IMREAD_GRAYSCALE
      • 그레이스케일 영상으로 읽기
      • shape = (rows, cols)
    • cv2.IMREAD_UNCHANGED
      • 영상 파일 속성 그대로 읽기
      • e.g. 투명한 PNG 파일
      • shape = (rows, cols, 4)
  • retval
    • 불러온 영상 데이터 (numpy.ndarray)
  • 영상 파일 저장하기
cv2.imwrite(filename, img, params=None) -> retval
  • filename : 저장할 영상 파일 이름 (문자열)
  • img : 저장할 영상 데이터 (numpy.ndarray)
  • params : 파일 저장 옵션 지정 (속성 & 값의 정수 쌍)
    • e.g) [cv2.IMWRITE_JPEG_QUALITY, 90] : JPG 파일 압축률을 90% 로 지정
    • 압축률 지정하지 않은 경우
    • 압축률을 1%로 한 경우
  • retval : 정상적으로 저장하면 True, 실패하면 False.
  • 새 창 띄우기
cv2.namedWindow(winname, flags=None) -> None
  • winname : 창 고유 이름 (문자열)
  • flags: 창 속성 지정 플래그
    • cv2.WINDOW_NORMAL : 영상 크기를 창 크기에 맞게 지정
    • cv2.WINDOW_AUTOSIZE : 창 크기를 영상 크기에 맞게 변경 (기본값)
  • 창 닫기
cv2.destroyWindow(winname) -> None
cv2.destroyAllWindows() -> None
  • winname : 닫고자 하는 창 이름
  • 참고사항
    • cv2.destroyWindow() 함수는 지정한 창 하나만 닫고, cv2.destroyAllWindows() 함수는 열려있는 모든 창을 닫음
    • 일반적인 경우 프로그램 종료 시 운영 체제에 의해 열려 있는 모든 창이 자동으로 닫힘
  • 창 위치 이동
cv2.moveWindow(winname, x, y ) -> None
  • winname : 창 이름
  • x, y : 이동할 위치 좌표
  • 창 크기 변경
cv2.resizeWindow(winname, width, height ) -> None
  • winname: 창 이름
  • width: 변경할 창의 가로 크기
  • height: 변경할 창의 세로 크기
  • 참고 사항
    • 창 생성 시 cv2.WINDOW_NORMAL 속성으로 생성되어야 동작
    • 영상 출력 부분의 크기만을 고려함 (제목 표시줄 , 창 경계는 고려되지 않음)
  • 영상 출력하기
cv2.imshow(winname, mat) -> None
  • winname: 영상을 출력할 대상 창 이름
  • mat: 출력할 영상 데이터 (numpy.ndarray)
  • 참고 사항
    • uint16, int32 자료형 행렬의 경우, 행렬 원소 값을 255로 나눠서 출력
    • float32, float64 자료형 행렬의 경우, 행렬 원소 값에 255를 곱해서 출력
    • 만약 winname에 해당하는 창이 없으면 창을 새로 만들어서 영상을 출력함
    • Windows 운영체제에서는 Ctrl + C (복사), Ctrl + S (저장) 지원
    • 실제로는 cv2.waitKey() 함수를 호출해야 화면에 영상이 나타남
  • 키보드 입력 대기
cv2.waitKey(delay=None) -> retval
  • delay: 밀리초 단위 대기 시간. delay ≤ 0 이면 무한히 기다림. 기본값은 0.
  • retval: 눌린 키 값 (ASCII code). 키가 눌리지 않으면 -1.
  • 참고 사항
    • cv2.waitKey() 함수는 OpenCV 창이 하나라도 있을 때 동작함
    • 특정 키 입력을 확인하려면 ord () 함수를 이용
    • 주요 특수키 코드 : 27(ESC), 13(ENTER), 9(TAB)
while True:
if cv2.waitKey() == ord ('q'): break
profile
딥 하게 딥러닝 하는중

0개의 댓글