Я помню, как некоторое время назад видел статью об алгоритме, который мог бы автоматически и плавно «прививать» текстуру из частей изображения в другую часть изображения.
Подход был примерно таким:
Вы бы создали базу данных маленьких квадратов пикселей (возможно, 8X8) из присутствующих частей изображения.
Затем вы выбираете пустой пиксель («место назначения» для пересадки текстуры) для заполнения и ищете один из квадратов в вашей базе данных, который наиболее точно соответствует окружающим пикселям. Затем вы раскрасите пустой пиксель в соответствии с цветом соответствующего пикселя в квадрате, который вы найдете. Затем вы выбираете другой пустой пиксель и повторяете до тех пор, пока не останется пустых пикселей.
Конечно, это лишь расплывчатое описание, потому что я не могу найти ссылок на этот алгоритм, чтобы освежить в памяти детали! Кто-нибудь может помочь?