Есть ли лучший способ изменить размер изображения в виде массива numpy? - PullRequest
1 голос
/ 09 июля 2020

Я новичок в нейронных сетях и практикую предварительную обработку изображений. Я пытаюсь изменить размер изображений в виде массивов numpy, и это мой текущий метод:

# using tensorflow, resize the image
im = tf.image.resize(img_as_array, [299, 299])

# then use .eval() which returns a numpy array in the size I want
im_arr = im.eval(session=tf.compat.v1.Session())

Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 09 июля 2020

Чтобы избежать преобразования между тензорными типами данных tf.tensor и np.ndarray, вы можете использовать skimage (scikit-image) для изменения размера изображения непосредственно на объектах np.ndarray, используя следующий сегмент кода:

import skimage.transform

kwargs = dict(output_shape=self._size, mode='edge', order=1, preserve_range=True)
im = skimage.transform.resize(im, **kwargs).astype(im.dtype)

Чтобы установить skimage, следуйте инструкциям по установке здесь: https://pypi.org/project/scikit-image/. Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...