当前位置:   article > 正文

【图像处理】_skimage.transform.resize

skimage.transform.resize

踩坑skimage.transform.resize


问题描述:
重新写模型的测试代码时,读取图片的时候没有使用skimage.transform.resize方法,导致模型的输出结果突破天际。
问题解决:
https://blog.csdn.net/agoodboy1997/article/details/112476841
skimage.transform.resize会顺便把图片的像素归一化缩放到(0,1)区间内,

source_image = imageio.imread(opt.source_image)
# 加入以下这句,在之后转化tensor时就不用归一化了,不然直接转换tensor,数值在[0,255]之间,
source_image = resize(source_image, opt.img_shape)[..., :3]
source_image = torch.tensor(source_image[np.newaxis].astype(np.float32)).permute(0, 3, 1, 2)
  • 1
  • 2
  • 3
  • 4

看到skimage.transform.resize的源码

def resize(image, output_shape, order=1, mode='reflect', cval=0, clip=True,
           preserve_range=False, anti_aliasing=True, anti_aliasing_sigma=None):
  • 1
  • 2
preserve_range : bool, optional
        Whether to keep the original range of values. Otherwise, the input
        image is converted according to the conventions of `img_as_float`.
        Also see https://scikit-image.org/docs/dev/user_guide/data_types.html
  • 1
  • 2
  • 3
  • 4

通过设置preserve_range=True就可以保持原来的模式了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/86746
推荐阅读
相关标签
  

闽ICP备14008679号