当前位置:   article > 正文

【pytorch卷1】=3=卷积提取提取图片轮廓_pytorch图片轮廓提取网络层设计

pytorch图片轮廓提取网络层设计

目录

1. 用mping载入图片

2. 用transforms.ToTensor图片转为张量,并(自动)归一化

3. 定义卷积核

4. 图片卷积函数处理


1. 用mping载入图片

  1. import matplotlib.pyplot as plt
  2. import torch
  3. import matplotlib.image as maping
  4. import torchvision.transforms as transforms
  5. #import the underlying picture by apply maping
  6. myimg = maping.imread('C:/Users/liyzc/Desktop/胖胖/和胖胖在宁波/IMG_20201007_122412.jpg')
  7. #show the picture
  8. plt.imshow(myimg)
  9. plt.axis('off')
  10. plt.show()
  11. print(myimg.shape)

2. 用transforms.ToTensor图片转为张量,并(自动)归一化

  1. pil2tensor = transforms.ToTensor()
  2. rgb_image = pil2tensor(myimg)
  3. print(rgb_image)
  4. print(rgb_image[0][0])
  5. print(rgb_image.shape)

3. 定义卷积核方法参考

  1. sobelfilter = torch.tensor([[-1., 0, 1.],
  2. [-2., 0, 2.],
  3. [-1., 0, 1.]]*3).reshape([1,3,3,3])
  4. print(sobelfilter)
  5. #note: *3 means tripling this ARRAY. compare:
  6. # tensor([[-1., 0, 1.],
  7. [-2., 0, 2.],
  8. [-1., 0, 1.]])*3

4. 图片卷积函数处理

  1. op = torch.nn.functional.conv2d(rgb_image.unsqueeze(0),soberfilter, stride=3,padding=(1,1))
  2. #tensor转化为图片数据
  3. ret = (op - op.min())/(op.max()-op.min())
  4. ret = (ret.clamp(0.,1.)*255).int()#逆归一化搞回去,并转化乘整数
  5. plt.imshow(ret.squeeze(), cmap='ocean_r')
  6. plt.axis('off')
  7. plt.show()

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

闽ICP备14008679号