Open1
TorchvisionのResizeで長辺を指定してリサイズする
結論
torchvision.transforms.Resize(size, max_size=size+1)
内容
sizeを指定してリサイズを行うモジュールである。
画像のアスペクト比を維持する場合はint型でsizeを指定するが、その場合は画像の短辺(高さと幅の短い方)が指定されたsizeになり、長辺は(元画像の長辺/元画像の短辺)*sizeとなる。
画像の長辺を指定してリサイズする場合はmax_sizeオプションを使う。このオプションで上限を与えることで、リサイズ後の長辺がmax_sizeを超えないようにリサイズが行われる。
注意
- sizeには目的の大きさを設定する
- max_sizeに基づく調整が行われるのは「リサイズ後の長辺がmax_sizeより大きい」場合だけ。
- sizeを適当な値に設定するとただ小さい画像が出力されてしまう。
- torchvision 0.20のv2.Resizeだとsize=Noneが可能になる。
- max_sizeは(目的の大きさ+1)を設定する
- size=maxsizeだとエラーが出る。