Эффективный алгоритм поиска наилучшего соответствия для большого количества маленьких изображений - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь написать программу, которая по сути преобразует исходное изображение в фотомасай c из существующей библиотеки 8x8 плиток. Это делается для игры NES, поэтому существуют определенные c правила цвета:

  • Каждая плитка должна быть раскрашена с использованием одной из четырех палитр четырех цветов из полной палитры NES: http://www.thealmightyguru.com/Games/Hacking/Wiki/index.php/NES_Palette
  • Первый цвет каждой палитры должен быть одинаковым.

Например:

0123
0456
0789
0ABC

Таким образом, по сути, два части:

  1. Мне нужно определить хороший набор палитры для mosai c. Я не знаю, смогу ли я реально найти абсолютное лучшее, потому что для этого потребовалось бы создать многократные мозаики для сравнения. Но скажем (не принимая во внимание аспект c), я просто хочу преобразовать цвета в исходном изображении, чтобы они следовали приведенным выше правилам и могли отображаться в NES.
  2. Как только я узнаю, какие палитры я я использую, каков наилучший алгоритм для подбора цвета для каждой составляющей плитки 8x8? (В настоящее время я экспериментирую с чисто черно-белой мозаикой, которая позволяет мне просто взять расстояние Хемминга, чтобы найти различное количество пикселей, но мне интересно, как это сделать с более чем 2 цветами).
...