Programming/python-computer vision

(OpenCV, Matplotlib) 파이썬에서 이미지 시각화하는 방법, 띄우는 방법

방황하는 데이터불도저 2023. 1. 2. 17:20

#1 : opencv로 시각화하기 (RGB원본)

 * 주의 : opencv는 RGB이미지를 BGR채널로 가져오게된다.

import cv2

# RGB 원본 이미지 로드
bgr = cv2.imread('image_path.jpg')
# GRAY(흑백) 이미지 로드
gray = cv2.imread('image_path.jpg', cv2.IMREAD_GRAYSCALE)

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

#2 : matplotlib로 시각화하기

import cv2
import matplotlib.pyplot as plt

image = cv2.imread('image_path.jpg')

plt.axis("off")    # x, y좌표 축표시 제거
plt.imshow(image)
plt.show()

* matplotlib.pyplot.imshow - cmap (colormap)

 

[Parameter]

matplotlib 라이브러리를 사용하여 이미지를 시각화(imshow)할 땐, colormap을 선택할 수 있다.

기본값은 'viridis'라는 colormap이고, 이외의 다양한 colormap을 제공한다.

https://matplotlib.org/stable/tutorials/colors/colormaps.html

이미지에 RGB값이 들어간 경우에는 cmap이라는 파라미터는 무시한다. (colormap에는 RGB가 따로 없다.)

 

흔하게 사용하는 Grayscale이미지나 RGB를 matplotlib로 시각화하기 위해서는 아래의 코드처럼 실행해야한다.

# Gray 흑백 이미지 시각화
gray = cv2.imread('image_path.jpg', cv2.IMREAD_GRAYSCALE)
# 또는
image = cv2.imread('image_path.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

plt.axis("off")
plt.imshow(gray, cmap = 'gray')    # cmap을 지정해주어야 한다.
plt.show()
# RGB 이미지 시각화
image = cv2.imread('image_path.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

plt.axis("off")
plt.imshow(image)   
# 다른 cmap을 지정해주는 방법
plt.imshow(image, cmap='hsv')
plt.show()

# 방법2
image = cv2.imread('image_path.jpg')

plt.axis("off")
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))  #안에 바로 넣을 수도 있다.
plt.show()

 

 

# 추가 참고 자료 : RGB, HSV, YUV 색공간 이야기

 

RGB, HSV, YUV 색공간 이야기 | 찰스의 안드로이드

색공간은 주로 세자리 또는 네자리의 숫자 또는 문자 등으로 색의 특징을 설명하기 위한 수학적 방법이다. 가장 많이 쓰이는 색공간은 RGB, YUV, HSV 등이 있다. 각 색공간의 특징에 대해서 알아보

www.charlezz.com