我正在寻找一种方法,通过在图像的右下边缘添加0值来扩展图像的大小。我最初的计划是使用nn.padding来添加边缘,直到我遇到以下错误:
File "/home/shared/virtualenv/dl-torch/lib/python3.7/site-packages/torch/nn/functional.py", line 2796, in pad
assert len(pad) % 2 == 0, 'Padding length must be divisible by 2'
AssertionError: Padding length must be divisible by 2
看起来手电筒试图从两边填充图像!有没有简单的方法来覆盖这个并将Tensor填充到另一个图像的左上角?
3条答案
按热度按时间l2osamch1#
我知道唯一办法是:
但我觉得不太值得推荐。
回答问题的标题。
q35jwt9p2#
使用nn.ConstantPad2d,可以分别指定所有四个方向上的填充元素数。
qxsslcnc3#
我也遇到过类似的问题,想用特定的颜色初始化一个图像Tensor。我解决了这个问题,如下所示:
设X是形状的Tensor(h,w,dim),dim有3个值(r,g,b),如果你想用rgb颜色226,169,41初始化TensorX,你可以这样做: