GraphD писал(а):=DeaD= писал(а):Ну вот ты за 10 рублей бы наверное уже купил
так что это лишь вопрос согласования цены
)))
Давай те выкладывайте все свои мысли, если будет понятно как оно все работает, значит идея уже кем-то придумана и давно!
Да и от теории до практики путь долгий. Будет шанс родить что-то поновее, если много разных мнений соединить, мозговой штурм т.c.
Ладно, не буду жмотиться
расскажу несколько основных ходов:
Постановка задачи - будем искать одну картинку прямоугольной формы на другой (пока без поворотов), неизвестными будем полагать расположение и масштаб (здесь надо сделать оговорку - будем полагать, что искомая картинка видна целиком и не сильно уменьшена);
Часто используемая субзадача - поиск в требуемом диапазоне координат и масштабов уменьшенного до нужной степени искомого образца.
Основные 3 метода, комбинация которых должна дать требуемую оценку по времени:
1. Быстрая оценка среднего значения цвета в прямоугольном регионе - подготовка кэша промежуточных данных занимает O(W*H) и памяти пропорционально W*H*log2(W*H), потом за константу можно мгновенно извлечь средний цвет в любом регионе.
2. Быстрое сравнение образца с проверяемой областью - сначала сравниваем средний цвет, если сильно отклоняемся, то вылетаем, иначе то же самое сверяем в каждой из его подчастей (например, тупо делим на 4 части перекрест, если размеры близки к квадрату или по одному измерению, если размеры близки к полоске), если сумма отклонений всё еще мала - идем дальше и т.п.;
3. Верхний перебор по отрезкам проверяемых масштабов и соответствующее масштабирование шага - если мы ищем образец 100х100 в картинке 300х300 и считаем что масштаб будет из диапазона 0.5-1.5, то можно искать сначала с шагом 5 пикселей и уже если прошли несколько уровней отсечки методом 2, тогда только начинать точный перебор пикселей.
Добавлено спустя 8 часов 8 минут 37 секунд:Куда все пропали? В патентное бюро убежали?