Как восстановить большое изображение, учитывая несколько его обрезков с достаточным перекрытием?

302
Prateek

Предположим, у вас есть несколько маленьких изображений, вырезанных из одного большого изображения. Каждое маленькое изображение представляет собой некоторый под прямоугольник большого изображения. Маленькие изображения имеют достаточное перекрытие друг с другом. Тем не менее, у вас нет большого изображения: учитывая маленькие изображения, как вы восстанавливаете большое изображение? Есть ли программное обеспечение для автоматизации этого?

Предположим, мы имеем дело с форматами изображений без потерь, такими как PNG. Здесь нет поворота, искажения перспективы или любого другого размытия, каждое входное изображение является точной обрезкой желаемого выходного изображения.

Несколько точнее, найдите изображение X, возможно, с некоторыми «пустыми» пикселями, например:

  • Каждое входное изображение - это прямоугольник X.
  • Каждый пиксель X либо «пустой», либо получен как минимум из одного входного изображения.
  • Х "как можно меньше".

Первые два требования точны, третье я не сделал совершенно точным. Третье требование - исключить тривиальные решения, такие как простое размещение входных изображений в некотором порядке. Допускаются пустые пиксели, так как входные изображения могут не выравниваться идеально, чтобы образовать прямоугольник. Например, если входы

ABC EFG DEF HIJ 

Я ожидаю, что результат будет

ABC DEFG HIJ 

(Здесь каждая буква представляет пиксель определенного цвета. Например, возможно, каждый A - это белый пиксель, каждый B - черный пиксель и т. Д.)

Вариант использования - это объединение нескольких скриншотов чего-либо, что вы можете панорамировать (например, карту или игру).

Краткий поиск в Google не дал программного обеспечения для этого. Существуют инструменты для сшивания панорам, такие как Hugin, но они «слишком интеллектуальны», и я не уверен, что их можно сделать так, чтобы они соответствовали требованию «каждое входное изображение должно быть точно обрезанным».

1
Просто используйте графический редактор, такой как Photoshop или GIMP. Создайте большой холст нужного вам размера и немного рабочей комнаты. Откройте изображения, каждое в отдельном слое. Затем разместите каждый. Там, где есть перекрытие, вы можете временно сделать верхнее изображение полупрозрачным, чтобы выровнять их. Когда все на месте, выровняйте изображение и обрежьте. fixer1234 9 лет назад 0
Да, но для этого нужно точное, точное выравнивание. Вероятно, с большим увеличением и уменьшением, осторожными движениями мыши и тому подобными вещами. Я хотел бы найти программное обеспечение для автоматизации всей этой ручной работы для меня. Prateek 9 лет назад 0
Мне любопытно, почему это было приостановлено. Я думал, что было довольно ясно, о чем спрашивают, на самом деле с большей математической точностью, чем нужно. Prateek 9 лет назад 0
Я посмотрел страницу [Как спросить] (http://superuser.com/help/how-to-ask), и это, кажется, соответствует рекомендациям: ** Поиск и исследование **: Там говорится, что Хугин и т. Д. Были рассмотрены и не нашел подходящего. ** Будьте в теме **: запросить рекомендации по программному обеспечению или умный способ использования какого-либо программного обеспечения (дайте мне знать, если это не по теме). ** Будьте конкретны **: Кажется достаточно конкретным, подробно описывая проблему. ** Сделать его релевантным для других **: приведен пример использования. Надеюсь понятно. ** Сохраняйте непредвзятость **: я не думаю, что вопрос противоречит этому. :-) Prateek 9 лет назад 0
То, что я описал в своем комментарии, является решением, и да, это может быть немного работы. Если вы ищете программное обеспечение для этого автоматически, запрос рекомендаций продукта не по теме (http://superuser.com/help/on-topic). Кроме того, вы, похоже, имеете в виду очень специфические требования, поэтому вы будете в лучшем положении, чтобы изучить имеющиеся возможности и взвесить варианты. fixer1234 9 лет назад 0

0 ответов на вопрос

Похожие вопросы