본문 바로가기

지식생활/A.I.

카페2 튜토리얼 Image Pre-Processing (Rescaling)

## caffe2 Tutorials Rescaling을 테스트하고 

정상적을 수행되는 소스를 기록하였습니다.




import skimage

import skimage.io as io

import skimage.transform

import numpy as np

import matplotlib.pyplot as pyplot


IMAGE_LOCATION = "https://upload.wikimedia.org/wikipedia/commons/e/e1/Ananas.jpg"


img = skimage.img_as_float(skimage.io.imread(IMAGE_LOCATION)).astype(np.float32)


## 원본 이미지 684x486 출력

pyplot.figure()

pyplot.imshow(img)

pyplot.axis('on')

pyplot.title('Original\nbig-sun.tistory.com')

pyplot.show()


input_height, input_width = 224, 224

print("Original image shape : " + str(img.shape) + " and remember it should be in H, W, C!")

print("Model's input shape is %dx%d") % (input_height, input_width)


## 원본가로 486 / 원본세로 648로 계산 aspect는 0.75

aspect = img.shape[1] / float(img.shape[0])


## 가로세로 비율에 따라서 사이즈 수정

## 파인애플은 가로보다 세로가 길어서 aspect가 1보다 작음.

print("Orginal aspect ratio : " + str(aspect))

if(aspect>1):

    ## 가로 길이 수정됨

    res = int(aspect * input_height)

    imgScaled = skimage.transform.resize(img, (input_width, res))

if(aspect<1):

    ## 세로 길이 수정됨

    res = int(input_width/aspect)

    imgScaled = skimage.transform.resize(img, (res, input_height))

if(aspect ==1):

    ## 동일하게 처리

    imgScaled = skimage.transform.resize(img, (input_width, input_height))


pyplot.figure()

pyplot.imshow(imgScaled)

pyplot.axis('on')

pyplot.title('Rescaled image\nbig-sun.tistory.com')

print("New image shape : " + str(imgScaled.shape) + " in HWC")

pyplot.show()