2

У меня типичное исходное изображение с соотношением сторон 3: 4. У меня также есть набор координат, которые мне нужно для отображения изображения на отдельном изображении. Координаты не совсем прямоугольные; если что-то они определяют нерегулярную сетку.Отображение изображения на набор координат

Так, например, (0,0) может отображаться на (12,33), (120,0) => (127,36), (240,0) => (226,13) и т. Д.

Моя цель - получить исходное изображение, чтобы оно соответствовало новой форме, сопоставляя исходные координаты с пунктом назначения и применяя искажения.

Каковы некоторые способы этого? Я использую .NET, но я прекрасно звоню, например. ImageMagick.

EDIT: В соответствии с запросом, вот изображение. Левое изображение - это простая фотография, равномерно разделенная (игнорируйте мои дрянные умения MSPaint). Правая сторона показывает форму цели. У меня есть координаты для каждой точки с правой стороны. Цель состоит в том, чтобы отобразить (проект?) Плоское изображение на фигуру так, чтобы точки выстроились в линию.

enter image description here

+0

Вы пытаетесь выполнить [это] (http://stackoverflow.com/questions/7838487/executing-cvwarpperspective-for-a-fake-deskewing-on-a-set- из-cvpoint)? Мне непонятно, я предлагаю вам загрузить несколько изображений, демонстрирующих, что вы пытаетесь сделать. – karlphillip

+0

Изображение добавлено. Не совсем такая же цель, как и эта, почти противоположная, но с добавленной задачей неравномерной цели фигуры. – roufamatic

ответ

2

У меня есть некоторые примеры операторов искажений на моем сайте (http://www.rubblewebs.co.uk/imagemagick/operators/distort.php) - используя php, но вы получите эту идею.

Возможно, вы, вероятно, захотите использовать метод shepards.

$cmd = "$input -matte -virtual-pixel transparent". 
" -distort Shepards \"0,0 0,0 0,100 20,100 0,200". 
" 0,200 133,200 133,180 266,200 266,200 266,100". 
" 246,100 266,0 266,0 133,0 133,20\" "; 
exec("convert $cmd shepards.png"); 

enter image description here

+0

Большая помощь, спасибо. Мои очки слишком близки друг к другу, потому что они появляются, потому что в результате получается крутой беспорядок. Но полиномиальное искажение, казалось, работало очень хорошо. – roufamatic