Computer Vision/opencv(python)

[02] OpenCV 주요 함수 설명

jwjwvison 2021. 3. 11. 23:10
 

OpenCV: OpenCV modules

OpenCV  4.5.2-pre Open Source Computer Vision

docs.opencv.org

  • 영상 파일 불러오기
cv2.imread(filename,flags=None)-->retval 

filename: 불러올 영상 파일 이름(문자열)

flags: 영상 파일 불러오기 옵션 플래그

 retval: 불러온 영상 데이터(numpy.ndarry)

 

  • 영상 파일 저장하기
cv2.imwrite(filename,img,params=None) -> retval

filename: 저장할 영상 파일 이름(문자열)

img: 저장할 영상 데이터

params: 파일 저장 옵션 지정(속성 & 값의 정수 쌍)

   e.g ) [cv2.IMWRITE_JPEG_QUALITY, 90] : JPG 파일 압축률을 90% 로 지정

retval: 정상적으로 저장하면 True, 실패하면 False

 

 

  • 새 창 띄우기
cv2.namedWindow(winname,flags=None) -->None

winname: 창 고유 이름(문자열)

flags: 창 속성 지정 플래그

  •  창 닫기
cv2.destroyWindow(winname) -> None
cv2.destroyAllwindows() -> None

winname: 닫고자 하는 창 이름

참고사항

   cv2.destroyWindow() 함수는 지정한 창 하나만 닫고 , cv2.destroyAllWindows() 함수는 열려
있는 모든 창을 닫음
  일반적인 경우 프로그램 종료 시 운영 체제에 의해 열려 있는 모든 창이 자동으로 닫힘

 

  • 창 위치 이동
cv2.moveWindow(winname,x,y) -> None

x,y: 이동할 위치 좌표

 

  • 창 크기 변경
cv2.resizeWindow(winname,width,height) -> None


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 () 함수를 이용

While True:
	if cv2.waitkey()==ord('q'):
    	break

 주요 특수키 코드 : 27(ESC), 13( ENTER), 9(TAB)