MegaMufa
@MegaMufa

Как автоматически разбить изображение на отдельные фрагменты?

Добрый день.
Есть небольшое цветное изображение и набор паттернов (расположение группы пикселей). Надо разбить изображение на эти паттерны, так чтобы в каждый из них входили пиксели, похожих цветов.

Например, есть вот такое изображение: 451f6333d2ca4c68b793c5ac20a71ab9.jpg
И такие паттарны: a70d67f474fd4f0ea95404b47adfdaa6.jpge26f5d4c9ca84b28b8a740a2348b170e.jpg2145c9c2d0844648a4b58b3c84ccb398.jpg

Скармливаю программе это изображение и она говорит, что здесь можно разместить второй паттерн вот так: d9c944a473994982910e492cb8a0a552.jpg В идеале при большом количестве паттернов программа должна разбивать на них все изображение без

Я не знаю что конкретно мне надо искать? Какие алгоритмы, как называется задача? Может кто-нибудь сталкивался с подобной задачей, подскажите, как это делается?
  • Вопрос задан
  • 1073 просмотра
Пригласить эксперта
Ответы на вопрос 3
GavriKos
@GavriKos
Похоже на задачу об укладке рюкзака. С дополнительными условиями. Можете посмотреть алгоритмы ее решения.

Ну и на всякий случай - посмотрите генетические алгоритмы.
Ответ написан
@FoxInSox
Для начала можно просто подумать, а не искать готовое решение/алгоритм. На это и нацелены задачи, зачем их вообще решать если все сводится к поиску алгоритма?
"Похожий цвета" это те цвета в которых схожи RGB модели. Т.е. RGB(255, 0, 0) и RGB(150, 0, 0) - схожи (второй оттенок красного, более темный), RGB(255, 0, 0) и RGB(0, 255, 0) - напротив, первый красный, второй зеленый.
Алгоритм может выглядеть так:
1. Сначала создаете карту блоков/прямоугольников/RGB моделей. Можно банальным перебором пикселей.
2. Берете первый блок и проверяете на "схожесть" с соседним блоком.
3. Повторяете предыдущий пункт пока не обойдете все блоки со схожим цветом и составляете фигуру.
Ответ написан
Foolleren
@Foolleren
Компас есть, копать не люблю...
напомнило
habrahabr.ru/post/274527
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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