【问题标题】:understanding transforms: resize and centercrop with same size理解变换:调整大小并以相同大小居中裁剪
【发布时间】:2021-09-26 10:36:01
【问题描述】:

我正在尝试理解这组特定的 compose 转换:

transform= transforms.Compose([transforms.Resize((224,224) interpolation=torchvision.transforms.InterpolationMode.BICUBIC),\
transforms.CenterCrop(224),transforms.ToTensor(),\
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])])

在变换后进行中心裁剪是否有意义(并且合法) - 使用相同的尺寸参数?我原以为调整大小本身就是给centercrop,但我在repos中看到centercrop是在调整大小后组成的——两者的大小完全相同。我想知道做这样的事情有什么用。为了完整起见,我想补充一点,我的输入图像大小各不相同(即它们都不是相同的暗淡)。

谢谢!

【问题讨论】:

    标签: pytorch image-augmentation


    【解决方案1】:

    我原以为调整大小本身就是给中心裁剪。

    函数T.Resize 不会居中裁剪您的图像,中心将保持不变,因为您只是调整原始图像的大小,保持比例并且原始中心保持在中心。应用与图像相同形状的裁剪 - 因为它只是在调整大小之后 - 使用 T.CenterCrop 并没有任何区别,因为您没有从图像中裁剪任何内容。

    如果您更改 T.CenterCrop 的大小,那么这以及您应用这两种转换的顺序将非常重要。

    【讨论】:

    • 感谢您的精彩解释。因此,就目前情况而言,在我展示的变换中,CenterCrop 将不起作用,因为它的大小与调整大小相同,并且在调整大小后直接应用。我的理解正确吗?感谢您的帮助。
    • 你有没有试过看看有没有它?
    • 我看到了,但我没有看到任何区别 - 但是,由于我正在查看图像,我不确定它是否有作用(正如你可以想象的那样)。因此我的问题(更多的是偏执的澄清)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 2010-10-03
    • 2018-09-22
    • 2011-11-11
    • 2017-02-06
    • 2015-12-04
    相关资源
    最近更新 更多