参考:https://blog.csdn.net/weixin_41012399/article/details/126049885
https://www.cnpython.com/qa/1291644
https://blog.csdn.net/weixin_44966641/article/details/125084573
https://blog.csdn.net/IEEE_FELLOW/article/details/115536987
训练时用pil读取图片,使用torchvision.transforms.Resize 进行数据处理。因为transforms.Resize当输入为PIL图像时,默认使用的PIL的resize进行处理,除了默认的双线性插值,还会进行antialiasing。
PyTorch 中的 torchvision.transforms.Resize 就是采用的 PIL 的 resize。
部署的时候使用opcv的resize处理,发现不一致,最好在训练的时候统一用opencv处理图片。
transforms.Resize 和 PIL 的 resize 的插值方式有区别吗?
A:是的,transforms.Resize 和 PIL 的 resize 的默认插值方式是不同的。
在 transforms.Resize 中,默认使用的是 PIL.Image.BILINEAR,即双线性插值。而在 PIL 的 resize 中,默认使用的是 PIL.Image.BICUBIC,即三次样条插值。文章来源:https://www.toymoban.com/news/detail-706747.html
当然,transforms.Resize 也可以指定其他的插值方式,如 PIL.Image.NEAREST(最近邻插值)、PIL.Image.BICUBIC 等。同样地,也可以在 PIL 的 resize 中指定其他的插值方式。文章来源地址https://www.toymoban.com/news/detail-706747.html
到了这里,关于分类模型训练pil、torchvision.transforms和opencv的resize的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!