如何随机裁剪一批图像

时间:2019-02-12 21:02:21

标签: python numpy tensorflow

我有5张图片,我想随机裁剪它们的w_,h_大小

示例:

import tensorflow as tf
images=tf.reshape(tf.range(100*100*3*5), [100, 100, 3, 5])    
batch_crop = tf.random_crop(images, size=(20, 20))
with tf.Session() as sess:
     batch = sess.run([batch_crop])

我收到错误消息: ValueError:形状必须为4级,但对于带有输入形状的“ concat”(操作:“ ConcatV2”),其形状应为3级。

1 个答案:

答案 0 :(得分:1)

*请注意在大小末尾多余的(3, 5)。这有效地告诉了张量流,不应沿着第三轴和第四轴对其进行裁剪

import tensorflow as tf
images=tf.reshape(tf.range(100*100*3*5), [100, 100, 3, 5])    
batch_crop = tf.random_crop(images, size=(20, 20, 3, 5))
with tf.Session() as sess:
     batch = sess.run([batch_crop])

应该做的工作。 random_cropdocs返回

  

裁剪的张量与值和形状大小相同。

您需要特别注意的聚会可能是:

  

如果不应裁剪尺寸,请通过该尺寸的完整尺寸。例如,可以使用大小= [crop_height,crop_width,3]裁剪RGB图像。

希望这会有所帮助:)