일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python list
- object detection
- #1일1영어
- #English
- 딥러닝
- 영어명언
- 이미지 생성
- word embedding
- convexhull
- 완전탐색
- #Android
- keras
- #일상영어
- #프로젝트
- #opencv
- c언어
- Convolution Neural Network
- 영어
- #실생활영어
- python 알고리즘
- tensorflow update
- text2img
- opencv SURF
- #실생활 영어
- python __init__
- findContours
- #영어
- tokenizing
- #영어 명언
- TensorFlow
- 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 |