Изменение размера изображений и объединение наборов данных в Python - PullRequest
0 голосов
/ 29 июня 2018

У меня есть два набора данных, images1 и images2 (сгенерированные в функции ниже, путем чтения изображений в цикле по заданному пути)

def measure(images1,path):
      images2=[]
      for filename in glob.glob(path): #looking for pngs
          temp = cv2.imread(filename).astype(float)
          images2.append (augm_img)

          print(np.array(images2).dtype)
          print(np.array(images).dtype)

          print(np.array(images2).shape)
          print(np.array(images).shape)

Вывод на печать:

  float64
  float64

    (1, 24, 24, 3)
(60000, 32, 32, 3)
(2, 24, 24, 3)
(60000, 32, 32, 3)
(3, 24, 24, 3)
(60000, 32, 32, 3)
(4, 24, 24, 3)
(60000, 32, 32, 3)
       ....
       ....

etc

После считывания изображений с пути я хочу изменить размер images2 для чтения из файла до размера, равного images (:,32,32,3)

И объединить эти два набора данных в один (объединить или добавить?) чтобы тренировать мою модель.

До сих пор я не могу найти способ сделать это, поэтому любой совет будет полезен.

1 Ответ

0 голосов
/ 02 июля 2018

Я нашел решение:

def resize_images(image_arrays, size=[32, 32]):
# convert float type to integer
image_arrays = (image_arrays * 255).astype('uint8')

resized_image_arrays = np.zeros([image_arrays.shape[0]] + size + [3])
for i, image_array in enumerate(image_arrays):
    image = Image.fromarray(image_array)
    resized_image = image.resize(size=size, resample=Image.ANTIALIAS)


    resized_image_arrays[i] = resized_image


return resized_image_arrays

При вызове этой функции изображения изменяются в определенном размере.

...