이것도 알아야 하네?

[Python] OpenCV 예제 따라하기—2. 흑백 이미지로 변환 본문

프로그래밍/이미지 처리

[Python] OpenCV 예제 따라하기—2. 흑백 이미지로 변환

아직 갈 길이 먼 사람 2021. 11. 12. 21:04
728x90

 

 

지난 시간에는 이미지를 읽고, 보고, 저장하는 방법을 배웠습니다.
해당 예제를 확인하고 싶다면
⬇⬇⬇⬇⬇⬇

 

OpenCV 예제 따라하기 시리즈

0. 이미지 읽고 쓰기

> 1. 이미지 합성


Goal

이번 시간에는 OpenCV 모듈을 이용하여, 컬러이미지를 흑백이미지로 변경하는 방법을 배웁니다.

1. Grayscale로 변환

cv2.cvtColor()함수와 cv2.COLOR_RGB2GRAY코드 값을 이용하여 이미지를 흑백 이미지로 전환할 수 있습니다. 컬러 이미지는 RGB가 각 0~255의 값을 가지므로 3개의 channel을 가지고, 흑백이미지는 0~255의 값의 크기만 가지므로 1개의 channel을 가진다. 

cv2.cvtColor(imageObject, ConvertCode)

Returns
변환된 image객체 행렬을 numpy.ndarray 타입으로 반환합니다. 이 때 흑백의 channel은 

Parameters

  • ImageObject(Required): 흑백 이미지로 변경될, RGB Channel을 가진 컬러 이미지의 Image Object 
  • ConvertCode(Required):
    • cv2.COLOR_RGB2GRAY
      : Default 값이며, 파일을 Color 이미지로 읽어 R,G,B 3개의 채널을 가진 image 객체 행렬을 반환합니다.

 

> Code

import cv2 

img1 = cv2.imread('/file_load_path/FILE_NAME1.jpg') 
print(img1.shape)  # (h, w, c=3) 

img1_gray = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
print(img1_gray.shape)  # (h, w)

코드 결과에서 확인할 수 있듯이 RGB 값을 각각 가지고 있어 3 Channel이던 이미지 객체가, 흑백 변환 이후 Channel이 하나밖에 없는 것을 확인할 수 있다.

728x90
Comments