Искажение картинок с помощью Python
Как можно сделать content aware scale (сжимает и разжимает фотографию с учетом содержимого) в питоне, которая будет искажать первую картинку и получать вторую на выходе?

Нашел сайт, который может делать подобное.
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Ну вот вам примерно ваш кот, хотя я его исказил только по горизонтали, а нужно ещё видимо по вертикали, но тут я вам даю пример как с этим работать, дальше вы сами думайте. Код я запускал в Google Colab.
import numpy as np
import PIL
import requests
im=PIL.Image.open(requests.get('https://i.stack.imgur.com/p5QiV.jpg', stream=True).raw)
a = np.asarray(im)
b = np.zeros_like(a)
xs = a.shape[1] // 3
for x in range(xs//2):
b[:,x] = a[:,x * 2]
for x in range(xs*2):
b[:,xs//2 + x] = a[:,xs + x//2]
for x in range(xs//2):
b[:,xs//2+xs*2 + x] = a[:,xs * 2 + x * 2]
imb = PIL.Image.fromarray(b)
imb
