코드를 블로그에 써보자. http://hilite.me/
1. 현재 실행되는 파일이 있는 폴더 알아내기
: 이 기능은 현재 실행하는 파일이 있는 폴더에 데이터셋이 담겨있는 폴더가 있을 때 유용합니다. 예를 들어서 현재 실행 중인 파일이 있는 폴더에 images 란 폴더가 있을 때 이 폴더에서 이미지를 불러오기 위해선 절대 경로를 알아야하는데 이 경우 단순히 cwd+"/images" 라고만 하면 절대 경로를 얻을 수 있죠.
import os # Get current folder cwd = os.getcwd() print "Current Folder is %s" %(cwd)
2. 이미지를 하나 불러와볼까요?
import os from scipy import misc # Load Image cat = misc.imread(cwd + "/cat.jpg") print "Type of cat is %s" % type(cat) print "Shape of cat is %s" % (cat.shape,)
간단하죠?
scipy라는 파이썬에서 자주 사용되는 패키지에 있는 misc라는 패지키를 불러오고, misc에 있는 imread란 함수를 통해서 이미지를 불러옵니다. 이 때 이미지의 절대 경로를 얻기 위해서 앞서 사용한 cwd를 사용합니다.
그런데 이걸 실행하면 에러가 나시는 분들이 있을거에요.
앞으로 이런 에러가 많이 보일텐데, 이 scipy는 파이썬에 기본적으로 설치되는 패키지는 아니기 때문이에요. 그래서 따로 설치를 해줘야해요. 각 OS 별 설치는
https://www.scipy.org/install.html
를 참고하세요!
이런 패키지 설치는 보통 구글에서
python 패키지이름(numpy cv2 등등) install 사용중인OS(ubuntu, osx 등등)
의 검색어로 검색을 하시면 친절하게 알려줍니다.
3. 불러온 이미지에 대해서 알아보죠.
# Load Image cat = misc.imread(cwd + "/cat.jpg") print "Type of cat is %s" % type(cat) print "Shape of cat is %s" % (cat.shape,)
위의 코드를 실행시키면
Type of cat is <type 'numpy.ndarray'>
Shape of cat is (1026, 1368, 3)
와 같이 나옵니다.
불러오 이미지의 type은 numpy의 ndarray이고, 모양은 높이가 1026이고, 폭이 1368인 이미지라는 것입니다. 마지막의 3은 RGB 채널을 의미합니다.
4. 그럼 그림을 그려볼까요?
#
# Plot!! plt.figure(0) plt.imshow(cat) plt.title("Original Image")
이렇게 하면 그림이 그려질까요?
아닙니다!
#
plt.show()
위의 코드를 추가해야합니다.
한가지 주의할 점은 이 API는 그림을 그리면서 코드의 더 뒤로 나가지 못하게합니다. 즉 plt.show() 뒤에 어떤 명령어가 있다면 실행이 되지않을 것이라는거죠.
'Enginius > Python&TensorFlow' 카테고리의 다른 글
JupyterHub on AWS EC2 (0) | 2016.04.08 |
---|---|
딥러닝 강의 1주차 + VirtualBox에 Ubuntu + Anaconda (4) | 2016.04.08 |
AWS EC2 Ubuntu 사용하기 + Jupyterhub 써보기 (0) | 2016.04.07 |
TensorFlow 맛보기 (2) | 2016.03.02 |
TensorFlow 설치하기 (3) | 2016.03.02 |