Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- OpenCV
- Python 환경설정
- 고릴라캠핑TV체험단
- opencv-python
- Python
- python 3.7.7
- vscode
- 파이썬 설정
- cvtColor
- OpenCV 초급
- 영상 생성
- 고릴라캠핑TV
- python-opencv
- 스프링역사
- OpenCV 입문
- openCV 실습
- matplotlib
- imwrite
- 제드파티라이트
- OpenCV 기초
- imread
- 고릴라캠핑
- VScode 환경설정
- 영상 복사
- numpy.ndarray
- 파티라이트
- nameWindow
- OpenCV 예제
- VScode Python
- 영상 추출
Archives
- Today
- Total
코딩. 캠핑
OpenCV Python 입문(2) - Matplotlib 라이브러리 본문
이번 과제 목표는 Matplotlib 사용하여 영상 출력하기이다.
Matplotlib 라이브러리
- 함수 그래프, 차트, 히스토그램 등의 다양한 그리기 기능을 제공하는 파이썬 패키지이다.
우선 설치를 해야 하니 명령 프롬프트 창을 하나 열어서 아래 문장을 쳐주자.
pip install matplotlib
Matplotlib 라이브러리는 컬러 영상의 색상 정보가 RGB순서로 출력하는데, OpenCV의 imread() 함수는 BGR순서로 색상을 불러온다. 따라서 Red와 Blue의 색상 정보가 반전이 되어서 출력이 된다.
그래서 cv2.cvtColor() 함수를 이용해서 BGR순서를 RGB순서로 변환을 해야 한다.
import matplotlib.pyplot as plt
import cv2
# 컬러 영상 출력
imgBGR = cv2.imread('cat.bmp')
imgRGB = cv2.cvtColor(imgBGR, cv2.COLOR_BGR2RGB) # BGR to RGB
plt.axis('off') # x축, y축 눈금 비활성화
plt.imshow(imgRGB)
plt.show()
먼저 앞서 말했던 문제를 확인하기 위해imgBGR을 까 보겠다.
plt.imshow(imgBGR)
Red, Blue가 반전되어서 이쁜 고양이가 퍼렇게 변해버렸다. 이제 다시 이쁜 고양이를 불러오자.
plt.imshow(imgRGB)
cvtColor을 통해서 Red와 Blue를 반전시켜주니 다시 이쁜 고양이로 돌아왔다.
# 그레이스케일 영상 출력
imgGray = cv2.imread('cat.bmp', cv2.IMREAD_GRAYSCALE)
plt.axis('off')
plt.imshow(imgGray, cmap='gray')
plt.show()
그레이 스케일 영상 출력이다. 그레이 스케일은 2차원 행렬 형태로 저장되고, 밝기 값 256단계만 저장된다.
# 두 개의 영상을 함께 출력
plt.subplot(121), plt.axis('off'), plt.imshow(imgRGB)
plt.subplot(122), plt.axis('off'), plt.imshow(imgGray, cmap='gray')
plt.show()
이 코드는 창 하나에 두 개의 영상을 출력하는 것이다.
subplot의 값 "121"는 1행에 2열로 나눠서 1번째 열에다가 진행하라는 뜻이다.
"122"는 1행에 2열로 나눠서 2번째 열에다가 진행하라는 뜻이다.
컬러 영상은 1행 1열에, 그레이 스케일 영상은 1행 2열에 만들어진 걸 확인할 수 있다.
Matplotlib는 주피터 노트북 환경에서도 쓸 수 있다고 하니 그게 편하면 거기서 쓰면 되겠다.
'Dev(개발) > OpenCV(Python)' 카테고리의 다른 글
OpenCV Python 입문(5) - 영상 생성, 복사, 부분 추출 (0) | 2021.01.28 |
---|---|
OpenCV Python 입문(4) - 영상의 속성과 픽셀 값 참조 (2) | 2021.01.28 |
OpenCV Python 입문(3) - 이미지 슬라이드쇼 만들기 (0) | 2021.01.27 |
OpenCV Python 입문(1) - OpenCV 기본 함수 (3) | 2021.01.26 |
OpenCV, Python, VScode 설치 및 환경설정 (6) | 2021.01.19 |
Comments