У меня есть не совсем линейный градиент под некоторым углом к горизонтали как изображение. Вот некоторые игрушки данные:Ускорить диагональный градиент, чтобы быть вертикальным
g = np.ones((5,20))
for x in range(g.shape[0]):
for y in range(g.shape[1]):
g[x,y] += (x+y)*0.1+(y*0.01)
Я хочу, чтобы существенно исправить перекос в градиент так, что она находится в горизонтальном положении, то есть градиент увеличивается вправо и все вертикальные срезы постоянны.
Это, конечно же, будет производить параллелограмм с большей осью х, чем входное изображение. Возвращение маскированного массива Numpy было бы идеальным. Вот (ужасный) мультфильм, чтобы быстро проиллюстрировать.
Любая идея, как этого добиться? Благодаря!
возможно дубликат http://stackoverflow.com/questions/33085142/skewing-an-array-in-python? – dnalow
@dnalow Это близко, но это решение не интерполирует. Как я сказал в описании, это не совсем линейный градиент, поэтому нужно сделать нечто большее, чем просто перекос, который нужно сделать. Я думаю, каждая строка должна быть интерполирована на значения нижней строки, прежде чем они будут переведены в x. –