Предварительная обработка изображений разных размеров в тензорном потоке - PullRequest
1 голос
/ 22 марта 2019

У меня есть серия изображений с различными размерами, такими как (375, 500,3), (200, 147, 3) и т. Д.

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

Какой должен быть подход к этому?

До сих пор я пробовал нижеприведенное, но из-за этого большие изображения выглядят дрянно.

  def preprocess_1 (images, labels):
      images = tf.image.central_crop(images, 0.9)
      images = tf.image.resize_image_with_crop_or_pad(images, 255, 255)
      return images, labels

1 Ответ

0 голосов
/ 22 марта 2019

Есть два решения, о которых я могу подумать:

  1. Мне кажется, что вы хотите получить квадратные изображения.Сначала вы можете превратить прямоугольные изображения в квадратные, заполнив нули в пробелах.Затем вы можете изменить размер всех квадратных изображений до необходимого размера.

  2. Вы можете обратиться к статье Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition, этот метод добавляет слой объединения пространственной пирамиды для решения проблемы изображений сразные размеры.

...