728x90
반응형
코드 및 이미지 : https://github.com/Seokii/Study_OpenCV
OpenCV를 활용하여 matplotlib에 이미지를 그려보겠습니다.
컬러 사진을 OpenCV에서는 BGR 순서로 저장하지만, matplotlib에서는 RGB 순서로 저장합니다. 따라서 BGR 순서를 RGB순서로 바꿔주어야만 사진이 제대로 출력됩니다.
cv2.cvtColor(src, code)
- 이미지 소스 경로
- 변환시킬 값
반환시킬 수 있는 값으로는
- cv2.COLOR_BGR2GRAY : BGR 이미지를 GRAYSCALE 이미지로 변환
- cv2.COLOR_BGR2RGB : BGR 이미지를 RGB 이미지로 변환
- cv2.COLOR_BGR2HSV : BGR 이미지를 HSV 이미지로 변환
- cv2.COLOR_BGR2YUV : BGR 이미지를 YUV 이미지로 변환
- cv2.COLOR_GRAY2RGB : GRAYSCALE 이미지를 BGR 이미지로 변환
- cv2.COLOR_HSV2BGR : HSV 이미지를 BGR 이미지로 변환
- cv2.COLOR_YUV2BGR : YUV 이미지를 BGR 이미지로 변환
- cv2.COLOR_RGB2BGR : RGB 이미지를 BGR 이미지로 변환
등이 있습니다.
주피터 노트북으로 구현하기
In [1]:
import cv2
import matplotlib.pyplot as plt
- 필요한 라이브러리를 불러옵니다. (OpenCV, matplotlib)
In [2]:
dog_image = cv2.imread("images/dog.jpg", cv2.IMREAD_COLOR)
- 사진 파일을 cv2.imread() 함수로 불러옵니다.
In [3]:
fig = plt.figure(num=1, figsize=(4,5))
plt.imshow(dog_image), plt.title('Original')
Out[3]:
(<matplotlib.image.AxesImage at 0x271f9f55580>, Text(0.5, 1.0, 'Original'))
- matplotlib로 이미지 출력을 위한 figure 객체를 생성합니다.
- figure 객체에 이미지를 표시하고 제목을 지정합니다.
- matplotlib는 RGB 컬러로 표시하기 때문에 원래 색의 보색으로 이미지가 표시됩니다.
In [4]:
rgb_dog = cv2.cvtColor(dog_image, cv2.COLOR_BGR2RGB)
- cv2.cvtColor() 함수로 컬러 공간 변환을 통해 BGR 이미지를 RGB 이미지로 변환시킵니다.
In [5]:
fig = plt.figure(num=1, figsize=(4,5))
plt.imshow(rgb_dog), plt.title('Original')
plt.title('RGB_dog')
Out[5]:
Text(0.5, 1.0, 'RGB_dog')
- 변환된 이미지를 위의 과정과 동일하게 진행하여 출력합니다.
- 좌측이 기존의 BGR 이미지이며 우측이 변환된 RGB 이미지입니다.
도움이 되셨다면 아래 광고 한 번만 클릭해주세요 감사합니다!
728x90
반응형
'머신러닝 & 딥러닝 > 컴퓨터 비전' 카테고리의 다른 글
[OpenCV with Python] - 08. 컬러 채널 분리하기 (0) | 2021.09.21 |
---|---|
[OpenCV with Python] - 07. 사진 뒤집기, 반복, 전치 반환 (0) | 2021.09.16 |
[OpenCV with Python] - 05. 사진 파일 불러오기 (0) | 2021.09.12 |
[OpenCV with Python] - 04. 텍스트 입력해보기 (0) | 2021.09.04 |
[OpenCV with Python] - 03. 간단한 도형 그리기 (선, 사각형, 원) (0) | 2021.09.04 |
댓글