Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск маленького изображения, в большом 
:(
    Опции темы
December
Дата 15.1.2003, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: нет
Всего: 57



Цитата(cully @ 14.1.2003, 09:53)
а я такую фигню делал:
1. берем скришот текста, скажем SDK
2. в проге вводим текст для поиска и шрифт
3. прога делает битмап из текста
4. ищем этот битмап в скриншоте и помечаем где нашли

поиск тупым сканированием быстро работает: 1024x768, 20 ms, Athlon 1600+, но так как 20 ms это время переключения контекста значит все еще быстрее :)

а методы ускорения такие же как для ускореного поиска текста тока с учетом 2D

К сожалению, у меня AMD K6-2 333MHz, и, как я уже писал, поиск по 800х600 изображения 16х14 работает 20 секунд (худший случай). Покажи, как там у тебя это пашет 20 мс.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
stab
Дата 15.1.2003, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



To December: глянь почту


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
December
Дата 16.1.2003, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: нет
Всего: 57



Спасибо за файлики.
На самом деле, крутая библиотечка. Буду копаться.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
stab
Дата 16.1.2003, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



CmpPattern все что ближе к концу библиотеки я сам делал :)


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
DENNN
Дата 1.2.2003, 06:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Может кто предложить алгоритм, для варианта:
искомое изображение есть в общей картинке, но оно повернуто на неопределенный угол ?
PM ICQ   Вверх
December
Дата 1.2.2003, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: нет
Всего: 57



Можно так:
берёшь две точки в маленьком изображении, желательно такие, чтобы их цвет встречался как можно реже в большом. Находишь первую точку; просматриваешь около неё такой круг, в котором могла бы находиться вторая точка. Если находишь вторую, вычисляешь угол наклона и проверяешь прямым сличением (или третьей точкой).


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
stab
Дата 1.2.2003, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



Эт наверно надо будет нейронные сети юсать, я слышал что они могут учитывать: поворот, маштаб, не равное изменение маштаба по X и Y, перекашивание (skew). Только вот где нарыть исходники или хотя бы теорию именно по такой сети незнаю. sad.gif


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
DENNN
Дата 1.2.2003, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата
берёшь две точки в маленьком изображении, желательно такие, чтобы их цвет встречался как можно реже в большом. Находишь первую точку; просматриваешь около неё такой круг, в котором могла бы находиться вторая точка.

Это кто же тебе возмет и пальцем тыкнет: Бери вот эту точку?
Если ищешь изображение 100x100, то это уже 10000 точек. Врядли там всегда будет уникальная точека.
Цитата
Эт наверно надо будет нейронные сети юсать, я слышал что они могут учитывать: поворот, маштаб, не равное изменение маштаба по X и Y, перекашивание (skew).

нейронные сети это хорошо, толко для них вроде бы и комп нужен не HOME PC.
А эта задача в общем виде решаеться в теории распознавания образов.
Цитата
Только вот где нарыть исходники или хотя бы теорию
smile.gif
PM ICQ   Вверх
December
Дата 2.2.2003, 03:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: нет
Всего: 57



Цитата(DENNN @ 1.2.2003, 17:26)
Это кто же тебе возмет и пальцем тыкнет: Бери вот эту точку?
Если ищешь изображение 100x100, то это уже 10000 точек. Врядли там всегда будет уникальная точека.

Автоматически.
Берёшь большое изображение, сортируешь в нём цвета по частоте использования.
Выбираешь минимальный.
Находишь в маленьком рисунке первую и последнюю точку данного цвета, они и будут осью мира.
Вот и всё.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
podval
Дата 2.2.2003, 06:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Цитата(DENNN @ 1.2.2003, 03:03)
Может кто предложить алгоритм, для варианта:
искомое изображение есть в общей картинке, но оно повернуто на неопределенный угол ?

Надо перейти в полярную систему координат и, как ни покажется странным, уйти в частотную область, например, преобразованием Фурье. Теперь угол поворота будет не важен.
PM WWW ICQ   Вверх
stab
Дата 11.2.2003, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



podval переход в полярную систему координат делять так, как ты уже описывал -- декарт. --> поляр. --> выстраивание в одну линию? Но вот как последний этам делать я точно понять не могу. Я думаю так: идем по четверти окружности [0..pi/2] с радиусом 0, заносим в массив все пиксели с удаленностью 0 и текущим углом, затем увеличиваем радиус на 1 и опять по окружности, и опять заносим в массив, так?

И еще вопрос как быть с данными о цвете, как от RGB перейти к одному вещественному числу [0.0..1.0]? Цвет ведь очень важен, скажем если на рисунке два яблока, зеленое и красное, а я хочу найти только красное.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
podval
Дата 12.2.2003, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Цитата
с радиусом 0
- это точка начала координат.
Цитата
затем увеличиваем радиус на 1 и опять по окружности, и опять заносим в массив, так?

угу smile.gif

Цитата
как быть с данными о цвете

А почему нельзя в цвете и работать?
PM WWW ICQ   Вверх
stab
Дата 12.2.2003, 05:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



Цитата
А почему нельзя в цвете и работать?

цвет это DWORD, прямо от этого DWORD и делать Фурье или вейвлет? или с каждям каналом работать отдельно, но это повышает трудоемкость

Слушай, а этот метод точно работает, а то делаю делаю, а потом бац вторая смена smile.gif Особенно интересно, как этот метод работает с фоном: есть эталон буква A на белом фоне, берем образец для теста, букву A на фоне леса. Что будет в этом случае? Как у этого метода с маштабом? И как искать маленький образец на большой картинке, букву A на отсканенной странице?

... и еще куча вопросов smile.gif


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
podval
Дата 12.2.2003, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Метод сработает и с dword.

Цитата
есть эталон буква A на белом фоне, берем образец для теста, букву A на фоне леса

Ну не знаю, надо пробовать. Если другие буквы на подобном фоне, то по идее не спутает. Все же "А" на фоне леса больше похожа на себя на белом фоне, чем "Б", например.

Цитата
букву A на отсканенной странице

А это зачем? Подобие FineReader'a?
PM WWW ICQ   Вверх
stab
Дата 13.2.2003, 03:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



Цитата
А это зачем? Подобие FineReader'a?


дано

Изображение содержащее буквы и цифры; возможно с наклоном; возможно с фоном; возможно сами буквы и цифры залиты каким-либо изображением; возможны вариации букв по цвету; возможны вариации букв по написанию т.е. курсив, болд; шрифт заранее неизвестен..., короче то, что ты видишь при регистрации на маил.ру и всяких форумах

найти

текст в виде PChar, char *, String, CString, ... smile.gif

решение

confused.gif

чуствую, что работать надо с контуром изображения, но какие же методики использоватьconfused.gif


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0532 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.