Автоматическое преобразование BufferedImage из вида сбоку / не перпендикулярно перпендикуляру на основе 4 точек, напечатанных в списке в Java
Я вижу много людей, просто читающих это... Может быть, вам нужна дополнительная информация? Комментарий ниже и я его дам!
Как говорилось в моих предыдущих вопросах, я строю машину, которая будет ориентироваться в комнате на основе изображения, которое вы бы сделали на своем телефоне. Для этого мне понадобится изображение, которое будет представлять комнату. Поскольку вы не можете сфотографировать прямо с верхней части комнаты (если вы не птица), мне нужно преобразовать ее в "перпендикулярное" изображение. Было бы странно, если бы вам пришлось делать это вручную, поэтому я решил сделать это автоматически. Теперь это что-то сложнее:) Ну, я попросил преобразовать изображение в этой теме и получил тот помеченный комментарий, который решил часть моей программы. Я все еще ищу способ автоматизировать это. Поскольку мне нужно, чтобы изображение было того же размера, что и в реальной жизни (мы можем принять 1 пиксель на 1 см), нам, вероятно, понадобятся какие-то "точки отсчета", напечатанные на листе бумаги формата А4. Также, вероятно, понадобится немного OpenCV, так как нам нужно будет знать расстояние между двумя точками на изображении. Кроме того, как бы вы определили "исправление", которое должно быть сделано на основе четырех пунктов?
Я сделал несколько фотографий для наглядности:
Я хотел бы преобразовать изображение следующим образом:
Чтобы изображение, как это (или даже лучше):
РЕДАКТИРОВАТЬ: Я хотел бы сделать это в последней версии (3.1), я понятия не имею, как его использовать:)
РЕДАКТИРОВАТЬ #2: я сделал некоторую работу над этим, решая часть этого в этом посте: Исправление перспективы изображения