-
Notifications
You must be signed in to change notification settings - Fork 0
/
processor.py
26 lines (24 loc) · 850 Bytes
/
processor.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from keras.preprocessing.image import load_img, array_to_img, img_to_array
import numpy as np
from keras.applications import vgg19
from keras import backend as K
def deprocess_image(x, num_rows, num_cols):
if K.image_data_format() == 'channels_first':
x = x.reshape((3, img_nrows, img_ncols))
x = x.transpose((1, 2, 0))
else:
x = x.reshape((num_rows, num_cols, 3))
# Remove zero-center by mean pixel
x[:, :, 0] += 103.939
x[:, :, 1] += 116.779
x[:, :, 2] += 123.68
# 'BGR'->'RGB'
x = x[:, :, ::-1]
x = np.clip(x, 0, 255).astype('uint8')
return x
def preprocess_image(image_path, num_rows, num_cols):
img = load_img(image_path, target_size=(num_rows, num_cols))
img = img_to_array(img)
img = np.expand_dims(img, axis=0)
img = vgg19.preprocess_input(img)
return img