调整图像大小并在python中合并数据集

时间:2018-06-29 10:56:31

标签: python deep-learning dataset training-data

我有两个数据集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 :(得分:0)

我找到了解决方法:

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

通过调用此函数,可以将图像调整为特定大小。