如何在 Torch 中扭曲图像

我正在尝试扭曲图像以供输入到神经网络中,但是我似乎无法弄清楚如何做到这一点。没有太多的库似乎提供我所寻找的内容。

最好是能够使用 torch.FloatTensor 类型

编辑:实际上,函数 image.warp 看起来很有希望,但 warp_test.lua 并不特别有用。我只是想在 x 方向上扭曲图像,并且扭曲量也不同。

点赞
用户1688185
用户1688185

以下是简单版本:

require 'torch'
require 'image'

local function skew(input, factor)
  local w, h  = input:size(3), input:size(2)
  local y     = torch.range(0, h - 1):view(h, 1):expand(h, w)
  local x     = torch.range(0, w - 1):view(1, w):expand(h, w)
  local field = torch.Tensor(2, h, w)
  field[1]    = y
  field[2]    = torch.add(x, factor or 0, y)
  return image.warp(input, field, "bilinear", false, "pad", 0)
end

local output = skew(image.lena(), 0.25)
2016-04-24 18:30:21