Python Library/OpenCV

[OpenCV] 이미지 읽기, 보기, 저장하기

바보1 2022. 12. 23. 16:59

CV 라이브러리를 import 합시다.

import cv2

1. 이미지 읽기

## cv2.imread(fileName, flag)
img = cv2.imread('lena.jpg', cv2.IMREAD_COLOR)
  • lena.jpg를 BGR color로 읽습니다.
  • cv2.imread는 fileName, flag를 인수로 받습니다.

 

이미지 읽기의 flag는 3가지 종류가 있습니다.

  • cv2.IMREAD_COLOR : 이미지 파일을 COLOR로 읽습니다. 투명한 부분은 무시하며, Default 값입니다. RGB 값으로 읽는 것이 아닌, BGR 값으로 읽습니다.
  • cv2.IMREAD_GRAYSCALE : 이미지 파일을 Grayscale로 읽습니다. 실제로 이미지 처리에서 중간 단계로 많이 사용합니다.
  • cv2.IMREAD_UNCHANGED : 이미지 파일을 alpha channel까지 포함하여 읽습니다.

 

3개의 flag 대신에 1, 0, -1을 사용해도 무관합니다.

 

img.shape를 통하여 어떤 형태의 행렬인지 알 수 있습니다.

img.shape
>>> (225, 225, 3)
  • Y축, X축, Channel을 뜻합니다.
  • cv에서는 RGB로 색의 channel을 나타내지 않고, BGR로 색을 나타냅니다.

2. 이미지 보기

 

 

cv2.imshow() 함수는 이미지를 사이즈에 맞게 보여줍니다.

## cv2.imshow(title, image)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • title은 string 형태로 윈도우 창의 title을 의미합니다.
  • image는 numpy.ndarray 형태로 cv2.imread의 return 값입니다.

 

cv2.waitKey(0)는 키보드 입력을 기다리는 함수입니다.

cv2.destroyAllWindows()는 화면에 나타난 모든 윈도우를 닫습니다.

일반적으로 위 세 개가 같이 사용됩니다.

 

import cv2

img_color = cv2.imread('../picture/lena.jpg', cv2.IMREAD_COLOR)      # BGR
img_gray = cv2.imread('../picture/lena.jpg', cv2.IMREAD_GRAYSCALE)     # GRAY

cv2.imshow('Color', img_color)
cv2.imshow('Gray', img_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

Gray로 표현된 이미지


3. 이미지 저장하기

 

 

cv2.imwrite() 함수를 이용하여 이미지를 저장할 수 있습니다.

## cv2.imwrite(fileName, image)
cv2.imwrite('lena_gray.jpg', img_gray)

 

 

지금까지 아주 기본적인 cv2에 대한 설명이었습니다.

감사합니다.

지적 환영합니다.

'Python Library > OpenCV' 카테고리의 다른 글

[OpenCV] Color Space 변환  (0) 2022.12.26