Carlo Piras Ответов: 1

Vb.net - как вырезать квадратное сечение из деформированного изображения?


Я заранее приношу извинения, если некоторые части этого вопроса не очень ясны: английский-не мой родной язык, и я не знаю технических терминов для некоторых частей того, что я пытаюсь описать. Если есть что-то неясное с этим вопросом, дайте мне знать, и я попытаюсь отредактировать его соответствующим образом.
В принципе, я пытаюсь написать программу в VB.NET это позволит пользователю открыть изображение и вырезать из него один кусок. С помощью этот образ например, пользователь должен иметь возможность вырезать из него только зеленый квадрат. Сделать это на таких изображениях не проблема, но в идеале программа должна быть в состоянии получить тот же результат от изображения, как искаженного, как вот этот Я видел программы для Android, которые позволяют пользователю просто выбрать четыре угла разрезаемого участка, и я хотел бы реализовать что-то подобное в .NET: пользователь выбирает углы, программа преобразует выделение в прямоугольник.

Что я уже пробовал:

Я пробовал искать подобный код в интернете, но ничего не смог найти (возможно, потому, что не знаком с точной терминологией). Может ли кто-нибудь дать мне несколько советов о том, как действовать дальше, или перенаправить меня на подобные проекты? Спасибо

1 Ответов

Рейтинг:
9

Carlo Piras

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

Graeme_Grant

Вы просите формулу "наилучшего соответствия" / "упаковки прямоугольника" для одного прямоугольника в неправильной форме?? Не совсем то, что показывала фотография [первой версии].

Graeme_Grant

Я нашел ссылку, но это не VB-код: алгоритм подгонки прямоугольника внутри многоугольника-переполнение стека[^]

[править:] http://cgm.cs.mcgill.ca/~Афины / cs507 / проекты / 2003/DanielSud/

Carlo Piras

Я проверил ссылку, но это не то, что я ищу: я не пытаюсь поместить прямоугольник внутри неправильной формы, я ищу способ вырезать часть изображения, ограниченную четырьмя углами, причем эта часть не обязательно является прямоугольником, и преобразовать ее в прямоугольную форму. С помощью другое изображение чтобы лучше объяснить это, я бы хотел, чтобы программа генерировала изображение справа, начиная с любого из изображений слева, делая все повороты и переводы, если это необходимо.

Graeme_Grant

Ах... вы хотите использовать искажение, чтобы скрутить изображение в правильную форму...

Graeme_Grant

Попробовать это... Свободное Преобразование Изображений [^]

... и как отменить (больше похоже на то, что вы ищете): Свободное Преобразование Изображений [^]

Carlo Piras

Это может сработать! Я поработаю над ним и посмотрю, смогу ли я адаптировать его для своего проекта. Спасибо!

Ralf Meier

Если я правильно понял вас, вы хотите сделать своего рода трансформацию ? Пересчитать трапецию со всеми ее точками внутри в прямоугольник с заданными размерами ?

Graeme_Grant

Это то, что кажется...