Skip to content

绘制图像 #5

Open
Open

Description

@ZiJUEWang

请问想看重构的图像应该怎么写程序呢,我将输入的图像转换成tensor了直接调进net里输出,但是画不出图像,请问可以看看您写的看重构效果图片的程序吗,谢谢

Activity

  1. WenxueCui commented on Apr 7, 2021

    @WenxueCui
    Owner

    很高兴对我的工作感兴趣。想要保存重建图片,你需要把tensor 转为 PILImage, 可以用力torchvision利用的工具。

  2. ZiJUEWang commented on Apr 7, 2021

    @ZiJUEWang
    Author

    print(image.size()) # (C,H, W), 通道顺序(R,G,B)
    unloader = transforms.ToPILImage()
    def tensor_to_PIL(tensor):
    image = tensor.cpu().clone()
    image = image.squeeze(0)
    image = unloader(image)
    return image
    model = CSNet(32, 0.1)
    res = model(image)
    net = CSNet()
    out = net(image)
    print(out.size())
    out = out.squeeze(0)

    image = tensor_to_PIL(out)

    img = ToPILImage()(out)

    img.show
    我在前面将读入的图像变换为【1,1,512,512】的张量,经过网络的输出仍然是这个尺寸,但是转换成PIL一直不显示图像,只有两个尺寸的输出
    <built-in method size of Tensor object at 0x00000276E748ED00>
    torch.Size([1, 1, 512, 512])
    torch.Size([1, 1, 512, 512])
    所以想着您有代码我可以参考一下吗,非常感谢,因为想了好几种办法还是没画出来,谢谢

  3. WenxueCui commented on Apr 9, 2021

    @WenxueCui
    Owner

    print(image.size()) # (C,H, W), 通道顺序(R,G,B)
    unloader = transforms.ToPILImage()
    def tensor_to_PIL(tensor):
    image = tensor.cpu().clone()
    image = image.squeeze(0)
    image = unloader(image)
    return image
    model = CSNet(32, 0.1)
    res = model(image)
    net = CSNet()
    out = net(image)
    print(out.size())
    out = out.squeeze(0)

    image = tensor_to_PIL(out)

    img = ToPILImage()(out)

    img.show
    我在前面将读入的图像变换为【1,1,512,512】的张量,经过网络的输出仍然是这个尺寸,但是转换成PIL一直不显示图像,只有两个尺寸的输出
    <built-in method size of Tensor object at 0x00000276E748ED00>
    torch.Size([1, 1, 512, 512])
    torch.Size([1, 1, 512, 512])
    所以想着您有代码我可以参考一下吗,非常感谢,因为想了好几种办法还是没画出来,谢谢

    就是用ToPILImage(), 你可以转为PILImage之后用save函数保存图片,然后再查看。我没有用过show。

  4. ZiJUEWang commented on Apr 9, 2021

    @ZiJUEWang
    Author

    很高兴收到您的回复,我刚刚尝试了save,但是保存的图片是一片空白,请问有什么解决办法吗,不知道是哪里出了问题,学习

  5. ZiJUEWang commented on Apr 9, 2021

    @ZiJUEWang
    Author
  6. WenxueCui commented on Apr 9, 2021

    @WenxueCui
    Owner

    很高兴收到您的回复,我刚刚尝试了save,但是保存的图片是一片空白,请问有什么解决办法吗,不知道是哪里出了问题,学习

    我不确定是什么原因,你可以查看一下值的范围,是不是图片像素越界了。

    import matplotlib.pyplot as plt from matplotlib.image import imread from net import CSNet import torchvision import numpy as np from Data import calculate_valid_crop_size from PIL import Image from torchvision import transforms import scipy.io as sio import torch import cv2 from torchvision.transforms import ToPILImage image_name = cv2.imread('E://pytoch_study01//CS//datasets//baby_GT.bmp') # PIL的JpegImageFile格式(size=(W,H)) image_name = cv2.cvtColor(image_name, cv2.COLOR_RGB2GRAY) image_name = cv2.normalize(image_name, None, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_32F) # loader使用torchvision中自带的transforms函数 loader = torchvision.transforms.Compose([torchvision.transforms.ToTensor()]) image = loader(image_name).unsqueeze(0) print(image.size) # (W,H) print(image.size()) # (C,H, W), 通道顺序(R,G,B) unloader = transforms.ToPILImage() def tensor_to_PIL(tensor): image = tensor.cpu().clone() image = image.squeeze(0) image = unloader(image) return image model = CSNet(32, 0.1) res = model(image) net = CSNet() out = net(image) print(out.size()) out = out.squeeze(0) # image = tensor_to_PIL(out) img = ToPILImage()(out) # img.show from matplotlib import pyplot pyplot.savefig('sample_result.png', bbox_inches='tight') 您好,这是我想要显示重建后图像的程序,不知道是哪里出了问题,请问可以指教一下吗,或者您有成功保存重建图像的程序吗,想参考一下,非常感谢!

    img = ToPILImage()(out)
    img.save('sample_result.png')

  7. ZiJUEWang commented on Apr 9, 2021

    @ZiJUEWang
    Author

    我用的是测试的那几张图像,512x512的,想不明白,请问可以传一份保存图像的代码吗,非常感谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions