| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- #영어
- #Android
- #영어 명언
- #English
- 영어
- python __init__
- 완전탐색
- #실생활 영어
- 영어명언
- 딥러닝
- text2img
- tokenizing
- opencv SURF
- word embedding
- findContours
- object detection
- keras
- #opencv
- python 알고리즘
- #프로젝트
- c언어
- python list
- TensorFlow
- Convolution Neural Network
- #일상영어
- #실생활영어
- convexhull
- tensorflow update
- #1일1영어
- 이미지 생성
- Today
- Total
When will you grow up?
plt.imshow & cv2.imshow 본문
Python을 이용하여 이미지를 보여주거나 확인할때 가장 많이 사용하는 cv2.imshow와 plt.imshow 함수의 간단한 차이점을 살펴보겠다.
사용할 이미지로는 구글 로고를 이용하겠다.

필요 라이브러리 import
|
import cv2 import matplotlib.pyplot as plt from matplotlib.image import imread cs |
|
# image load mat_img = image.imread('90.png') # (230, 579, 4) cv_img = cv2.imread('90.png' ,0) # (230, 579) cs |
.png 파일로 저장되어 있기때문에, matplot 에 imread로 읽을시 원본 그대로 읽는것 같다. 그래서 4채널로 들어오게 되는데 만약 cv 함수로 원본 그대로 읽고 싶다면, cv2.imread('90.png', -1) 인자값을 주면 alpha 값까지 읽을것이다. (0:gray, 1: rgb, -1: origin)
|
# image show plt.imshow(cv_img) cv2.imshow('gray image', cv_img) cv2.waitKey(0) cv2.destroyAllWindows() cs |

gray로 읽었는데 출력을 해보면, cv2.imshow와 plt.imshow 함수 결과가 다를 수 있는데, plt.imshow 함수는 default 값이 color로 출력하게 되어있어서 내부적으로 변환이 이뤄지는것 같은데, cmap(color map)형식 인자값을 다양하게 변경가능하며, plt.imshow(cv_img, cmap='gray') 으로 변경하면 gray형식으로 출력되는것을 확인할 수 있다. 하지만 내부적으로 color를 조절해서 조금은 다른 결과가 나올 수 있다.

tip.. 출력은 plt.imshow로 여러장을 한번에 출력하는게 편해서 좋지만, 원본 타입을 보고싶다면 cv2.imshow 함수를 이용하고 read는 cv2로 읽는게 훨씬 빠르다 애용하자 ~_~
전체코드는 아래와 같습니다.
|
import cv2 import matplotlib.pyplot as plt import matplotlib.image as image
# image load mat_img = image.imread('90.png') # (230, 579, 4) cv_img = cv2.imread('90.png', 0) # (230,579, 4)
# image show plt.imshow(cv_img, cmap='gray') cv2.imshow('gray image', cv_img) cv2.waitKey(0) cv2.destroyAllWindows() cs |
'02. Study > Computer Vision(openframworks&opencv)' 카테고리의 다른 글
| python으로 시작하는 OpenCV (3) (0) | 2020.02.06 |
|---|---|
| python으로 시작하는 OpenCV (2) (0) | 2020.02.04 |
| python으로 시작하는 OpenCV (1) (0) | 2020.02.02 |
| OpenCV를 이용한 Yolo v3 적용하기 (4) | 2019.10.13 |
| Haar Cascade Classifiers를 이용한 얼굴 인식 (0) | 2019.10.07 |