#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을 제공한다.

이미지에 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
'Programming > python-computer vision' 카테고리의 다른 글
Color Space (색공간), OpenCV (1) | 2023.07.13 |
---|---|
기울어진 BBOX 이미지를 잘라내는 법, 수평으로 회전시키는 방법! (EasyOCR, OpenCV) (0) | 2023.02.17 |
바운딩 박스 텍스트 읽는 순서대로 정렬하는 법 | How to sort the shuffled bounding boxes in a same way to read text (0) | 2023.02.06 |
이미지 회전 Image Rotation할 때, 이미지 잘리지 않게 하는 법 | imutils.rotate(), rotate_bound() (0) | 2022.12.26 |
Google Tesseract 설치 및 실행 방법 | 이미지 속 텍스트 글자 인식하기 (Pytesseract OCR) (0) | 2022.07.27 |