프로그래밍/OpenCV

[OpenCV-Python] 이미지로드, 저장하기

지원지원 2021. 1. 9. 19:26

이미지를 로드하고 저장하는 과정

오늘 실습해 볼 이미지는 vv.jpg로 저장해줬당

 

import cv2

img = cv2.imread('vv.jpg') #이미지 로드
cv2.imshow('창이름', img) #이미지 열기
  • cv2.imread()  :  이미지 로드
  • cv2.imshow() : 이미지 열기
  • cv.imwrite() : 이미지 저장

imwrite()함수는 기본적으로 PNG 형식으로 이미지 저장함

 

img = cv2.imread('vv.jpg', 0) #그레이스케일로 이미지 로드하기(원래 컬러 이미지였음)
cv2.imshow('image', img) # 창 이름은 image로 지정하고 창 띄우기
k = cv2.waitKey(0)
if k == 27: #esc키 누르면
    cv2.destroyAllWindows() #창 닫기
elif k==ord('s'): # ord -> 문자의 아스키 코드 돌려주는 함수 -> s키 누르면
    cv2.imwrite('grayscale_v.png', img) #첫번째 파라미터 이름으로 파일 저장
    cv2.destroyAllWindows() #창 닫기

코드 설명 

vv.jpg 이미지를 그레이스케일로 읽고 창 띄우기

esc키를 누르면 창을 닫고

s키를 누르면 'grayscale_v.png'로 파일을 저장한다.

 

  • cv2.waitkey(대기시간) : 지정된 시간만큼 기다린다. 키보드 바인딩 함수

==> 대기시간은 ms 단위, 0이면 무한대기

리턴값

  키보드로 입력받은 키 값(아스키값)을 리턴한다. A를 입력하면 97가 리턴 값이 될 것이고, a를 입력하면 65가 리턴 값이 될 것이다.

  ESC키는 27(escape) Enter키는 13(caging return)으로 리턴 값이 나온다.

 

  • cv2.destroyAllWindows() : 열린 모든 창을 닫음