*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 * [1, 0.5, 0.9] # 색변경 이미지를 300x300픽셀로 크기 조절. img_tinted = imresize(img_tinted, (300, 300)) # 색변경 이미지를 디스크에 기록하기 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 * [1, 0.5, 0.5] # 원본 이미지 나타내기 plt.subplot(1, 2, 1) plt.imshow(img) # 색변화된 이미지 나타내기 plt.subplot(1, 2, 2) # imshow를 이용하며 주의할 점은 데이터의 자료형이 # uint8이 아니라면 이상한 결과를 보여줄 수도 있다는 것입니다. # 그러므로 이미지를 나타내기 전에 명시적으로 자료형을 uint8로 형변환 해줍니다. plt.imshow(np.uint8(img_tinted)) plt.show() | cs |
'Python 활용 딥러닝' 카테고리의 다른 글
모두를 위한 머신러닝 + 기계학습 절차 Machine Learning Concept (0) | 2018.12.18 |
---|---|
Tensorflow Basic(Ranks, Shapes, Types) + Pycharm 설치 (0) | 2018.12.17 |
Numpy 사용법(배열연산, 수학함수) (0) | 2018.12.17 |
Python if와 for Loop, while문 사용법 (0) | 2018.12.17 |
Python 기본 + Numy, Jupyter 설치 + Python 함수 사용방법 (0) | 2018.12.17 |