
디지털 이미지는 픽셀(Pixel)의 집합이며, 각 픽셀은 숫자로 표현합니다.
OpenCV에서 이미지는 NumPy의 ndarray 형태로 저장합니다.
NumPy 자료를 봤다면 흑백 이미지는 2D, 컬러이미지는 3D 배열로 저장되는 것을 알 고 있을 것입니다.
일반적인 그래픽 모듈들은 RGB 순서를 사용하고 있지만 OpenCV는 BGR 순서를 기본으로 사용합니다.
과거 Intel 영상 포맷이 효율성을 위해 BGR 순서를 사용했기 때문입니다.
따라서 Matplotlib으로 표시할땐 BGR을 RGB로 변환하는 것이 필요합니다.
# cv2 기능불러오기
import cv2
import matplotlib.pyplot as plt
# img 변수엔 본인 경로를 찾아 넣으면 됩니다.
img = cv2.imread(r"C:\\Users\\danny\\Desktop\\You're rejected too.png", cv2.IMREAD_COLOR)
# 이미지 보여주기 모델에 변수 불러오기
cv2.imshow("model", img)
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img_rgb)
plt.show()
# 키 대기
cv2.waitKey(0)
# 이미지 종료
cv2.destroyAllWindows()
cv2에서는 BGR 배열을 RGB 배열로 변환하는 여러 함수를 지원합니다.
이번 코드에서는 img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 를 사용하였습니다.

오른쪽처럼 Matpoltlib에서도 정상적으로 이미지가 출력되는것을 확인 할 수 있습니다.
컬러 이미지는 많은 정보를 가지고 있기 때문에 연산량이 많습니다.