我有一批大小不一的图像,例如(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
答案 0 :(得分:0)
我可以想到两种解决方案:
在我看来,您想要获得正方形的图像。您可以先通过在空白处填充零来将矩形图像转换为正方形图像。然后,您可以将所有方形图像调整为所需的大小。
您可以参考论文Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
,此方法添加了一个“空间金字塔池化层”以解决不同尺寸图像的问题。