728x90
반응형

Python OpenCV 정리 | cv2.imread(), cv2.imshow(), cv2.imwrite()

 

개인 프로젝트로 이미지 처리 & 인식을 하고 있는데, 오늘은 이미지 처리의 기본인

이미지 읽기, 보기, 저장하기를 정리해보려고 합니다!

 

공식 문서를 먼저 파악하는 편인데, 매번 까먹다 보니 한번 정리를 하면 좋겠더군요 :)

파이썬에서 OpenCV를 사용하려면 면저 아래와 같이 모듈을 import 해야 합니다.

import cv2

 

cv2.imread() : 이미지 읽기

import cv2

img = cv2.imread('test.jpg', cv2.IMREAD_COLOR)

위와 같이 읽고자 하는 이미지의 경로를 첫 번째 파라미터로 주어 이미지를 읽어올 수 있습니다. 

 

조금 더 자세히 살펴보자면,

cv2.imread(fileName, flag)

  • fileName (str) – 이미지 파일의 경로
  • flag (int) – 이미지 파일을 읽을 때의 Option
  • return: image 객체 행렬

flag는 이미지 파일을 읽을 때 주는 옵션입니다.

  • cv2.IMREAD_COLOR : 이미지 파일을 color로 읽어 들임
  • cv2.IMREAD_GRAYSCALE : 이미지 파일을 grayscale로 읽어 들임
  • cv2.IMREAD_UNCHANGED : 이미지 파일을 alpha 채널까지 포함하여 읽어 들임

위와 같이 옵션을 줄 수 있으며 1, 0, -1로도 줄 수 있습니다.

 

cv2.imshow() : 이미지 보기

import cv2

img = cv2.imread("test.img", cv2.IMREAD_COLOR)

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

읽어 들인 이미지를 윈도우 창에 보여주게 되는데, 조금 더 자세히 살펴보겠습니다.

 

cv2.imshow(title, image)

  • title - 윈도우 창의 이름
  • image - 읽어들인 이미지 객체

cv2.waitkey(0)cv2.destryAllWindows() 는 각각 keyboard 입력을 대기하는 함수와 윈도우 창을 모두 닫는 함수입니다. 

이 함수를 써주지 않으면 중간에 오류가 나기도 합니다.

 

cv2.imwrite() : 이미지 저장

import cv2

gray = cv2.imread("test.img", cv2.IMREAD_GRAYSCALE)

cv2.imwrite('gray_test.png', gray)

읽어 들인 이미지를 저장하는 함수입니다. 

경로를 지정해 저장할 수 있으며, 중간에 이미지 처리(노이즈 제거, 색 변환, 원근 변환 등)을 통해 변환된 이미지를 저장할 수 있습니다.

 

cv2.imwrite(fileName, image)

  • fileName (str) – 저장될 파일명
  • image – 저장할 이미지

오늘은 이미지 처리의 기초가 되는 읽고, 보고, 저장하는 방법을 정리해 봤습니다.

앞으로 시간이 생길 때 더 다양한 모듈을 정리하고 파이썬에서 시각화를 할 수 있는 matplotlib에 대해서도 조금 정리를 해 보면 좋겠군요! 

유익하게 보셨다면 댓글을 달아주세요 ㅎㅎ (광고도 클릭해주세요)

 

그럼 이만 :)

728x90
반응형

+ Recent posts