*Scipy 설치


>>> pip install scipy

>>> pip install pillow



*이미지 RGB 조정 소스 코드:


1) cat image(cat.jpg)를 다운로드 받아 jupiter workspace에 갖다 놓는다 :

2) 아래 코드를 실행시킨다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from scipy.misc import imread, imsave, imresize
 
# JPEG 이미지를 numpy 배열로 읽어들이기
img = imread('cat.jpg')
print(img.dtype, img.shape)  # 출력 "uint8 (400, 248, 3)"
 
# 각각의 색깔 채널을 다른 상수값으로 스칼라배함으로써
# 이미지의 색을 변화시킬 수 있습니다.
# 이미지의 shape는 (400, 248, 3)입니다;
# 여기에 shape가 (3,)인 배열 [1, 0.95, 0.9]를 곱합니다;
# numpy 브로드캐스팅에 의해 이 배열이 곱해지며 붉은색 채널은 변하지 않으며,
# 초록색, 파란색 채널에는 각각 0.95, 0.9가 곱해집니다
img_tinted = img * [10.50.9]
 
# 색변경 이미지를 300x300픽셀로 크기 조절.
img_tinted = imresize(img_tinted, (300300))
 
# 색변경 이미지를 디스크에 기록하기
imsave('cat_tinted.jpg', img_tinted)
cs

=> cat_tinted.jpg가 저장되었는지 확인


web 페이지에서 보여줄려면 형변환이 이루어져야 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import numpy as np
from scipy.misc import imread, imresize
import matplotlib.pyplot as plt
 
img = imread('cat.jpg')
img_tinted = img * [10.50.5]
 
# 원본 이미지 나타내기
plt.subplot(121)
plt.imshow(img)
 
# 색변화된 이미지 나타내기
plt.subplot(122)
 
# imshow를 이용하며 주의할 점은 데이터의 자료형이
# uint8이 아니라면 이상한 결과를 보여줄 수도 있다는 것입니다.
# 그러므로 이미지를 나타내기 전에 명시적으로 자료형을 uint8로 형변환 해줍니다.
 
plt.imshow(np.uint8(img_tinted))
plt.show()
 
cs

imageio_skimage.ipynb

Scipy_test.ipynb





+ Recent posts