Как создать изображение, используя части другого изображения?
Прежде чем прояснить мой вопрос, пожалуйста, просто рассмотрите эти два генеративных портрета Серхио Альбиака:
Так как мне действительно нравятся подобные портреты, я хотел найти способ их создания сам. У меня пока немногое, единственные вещи, которые я могу вывести из этих примеров:
- каждый портрет занимает не менее двух входных данных: одно целевое изображение (портрет) и одно или несколько исходных изображений (текстовые изображения), части которых используются для создания стилизованного портрета
- сопоставление частей из исходных изображений с целевым изображением выполняется с помощью сопоставления с шаблоном
Что я хотел бы знать, так это как действовать, чему учиться и искать? Какие еще концепции я должен рассмотреть, прежде чем пытаться сделать эту работу?
ура
1 ответ
Плагин Cover Maker для Фиджи /ImageJ делает то же самое.
Сначала он строит базу данных из ваших исходных изображений, проиндексированных в соответствии с цветом / интенсивностью. Эти исходные изображения затем используются для создания целевого изображения. (В отличие от ваших примеров изображений, он работает только с постоянным размером плитки по всему изображению.)
Посмотрите на исходный код Python для деталей.
РЕДАКТИРОВАТЬ: Если вы хотите избежать постоянного размера плитки, вы можете использовать, например, сегментацию дерева квадрантов или сегментацию k-средних, чтобы получить области с похожей интенсивностью / текстурой на целевом изображении, а затем выполнить сопоставление шаблона для сегментированных областей.