package 불러오기
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline
이미지 파일 열기
opencv로도 열수 있지만, shape 순서가 바뀔 때도 있어서 PIL로 여는 것을 개인적으로 선호
path = 'source/dog.jpg'
image_pil = Image.open(path)
image = np.array(image_pil)
이미지 들여다 보기
image.shape #(세로길이, 가로길이, 색깔이 있으므로 3차원)
(734, 1100, 3)
np.min(image), np.max(image)
(0, 255)
이미지를 열기 전에 shape 및 min, max를 통해서 이미지의 range 확인 필요
그래프로 시각화 하기
plt.hist(image.ravel(),256, [0,256])plt.show()
그림 나타내기
plt.imshow(image)plt.show()
이미지 흑백으로 열기
image_pil = Image.open(path).convert("L")
image_black = np.array(image_pil)
image_black.shape # 흑백으로 변했기 때문에 앞에서 나왔던 3이 없다.
(734, 1100)
흑백 이미지 열기
# 2개의 차원일 때는 gray scale로 열림
plt.imshow(image_black)
plt.show()
다른 색상으로 cmap 표현하기
gray scale
plt.imshow(image_black, 'gray')
plt.show()
RdBu
plt.imshow(image_black,'RdBu')
jet
plt.imshow(image_black, 'jet')
Colorbar 추가하기
plt.imshow(image_black, 'jet')
plt.colorbar()
plt.show()
이미지 설정
이미지 보기 사이즈 조절
plt.figure(figsize=(10,10))
plt.imshow(image)
plt.show()
이미지에 제목 추가
plt.title('Dog')
plt.imshow(image)
plt.show()
두번째 이미지 열기
cat_path = 'source/cat.jpg'
cat_pil = Image.open(cat_path)
cat_image = np.array(cat_pil)
plt.imshow(cat_image)
plt.show()
두번째 이미지를 첫번째 이미지 모양에 맞추기
cat_image.shape
(183, 275, 3)
image.shape, cat_image.shape # 강아지와 고양이 이미지 차이
((734, 1100, 3), (183, 275, 3))
두번째 이미지 합치기 위한 준비
import cv2
dog_image = cv2.resize(image,(275,183))
dog_image.shape
(183, 275, 3)
dog_image.shape, cat_image.shape
((183, 275, 3), (183, 275, 3))
Image 합치기
plt.imshow(dog_image)
plt.imshow(cat_image, alpha=0.5)
plt.show()
Subplot
plt.figure(figsize=(10,10))
plt.subplot(221) # == plt.subplot(2,2,1)
plt.imshow(dog_image)
plt.subplot(222)
plt.imshow(image_black, 'gray')
plt.subplot(223)
plt.imshow(cat_image)
plt.show()
'📌 Python' 카테고리의 다른 글
Python - 메모리 구조 및 메모리 할당 과정 (0) | 2022.01.24 |
---|---|
Mac - Conda가 안될 때, anaconda 터미널이 안켜질 때 (1) | 2021.06.16 |
Python - 시각화 기초 (0) | 2021.01.27 |
Python - Numpy 기초 (0) | 2021.01.27 |
Python - Tensor (0) | 2021.01.27 |