рисуем на экране некоторую фигуру (окружность например), получаем массив координат точек этой окружности.
потом рисуем вторую фигуру в совершенно другой области экрана, опять-же получаем массив.
задача: сравнить эти фигуры, и выдать долю совпадения.
Кто-нибудь занимался похожими вопросами? Помогите плз. или подскажите куда копать.
заранее благодарен.
24.11.05 10:05: Перенесено модератором из 'C/C++' — Павел Кузнецов
Здравствуйте, cahbi7, Вы писали: C>задача: сравнить эти фигуры, и выдать долю совпадения.
А что ты понимаешь под выделенным?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, cahbi7, Вы писали:
C>Здравствуйте,
C>возник вопрос по сабжу:
C>рисуем на экране некоторую фигуру (окружность например), получаем массив координат точек этой окружности. C>потом рисуем вторую фигуру в совершенно другой области экрана, опять-же получаем массив.
C>задача: сравнить эти фигуры, и выдать долю совпадения.
C>Кто-нибудь занимался похожими вопросами? Помогите плз. или подскажите куда копать.
C>заранее благодарен.
Если форма фигур заранее известна, то можно копать в сторону преобразования Хафа (Hough transform). Еще в нете есть книжка "Введение в контурный анализ. Приложения к обработке изображений и сигналов". Там приводятся алгоритмы, с помощью которых можно выделять произвольные контуры ну и делать с ними всякие операции (сравнивать например). Сам я эту книжку читать только начал, поэтому ничего более конкретного посоветовать не могу.
Здравствуйте, jhng, Вы писали:
J>Еще в нете есть книжка "Введение в контурный анализ. Приложения к обработке изображений и сигналов". Там приводятся алгоритмы, с помощью которых можно выделять произвольные контуры ну и делать с ними всякие операции (сравнивать например).
Я тоже сейчас копаюсь в данной теме, не подкинешь ссылку на книгу?
C>возник вопрос по сабжу:
C>рисуем на экране некоторую фигуру (окружность например), получаем массив координат точек этой окружности. C>потом рисуем вторую фигуру в совершенно другой области экрана, опять-же получаем массив. C>задача: сравнить эти фигуры, и выдать долю совпадения. C>Кто-нибудь занимался похожими вопросами? Помогите плз. или подскажите куда копать.
Проще всего применить персептрон. Если фигур, которые требуется распознавать немного,
то он отично справится. Надо только выбрать инвариант, устойчивый к афинным преобразованиям —
тут много способов, например можно за основу взять преобразование Фурье контура фигуры.
Была такая синяя книжка по нейронным сетям некоего не то поляка, не то чеха — к сожалению,
я сейчас не дома и посмотреть не могу — там описано решение именно этой задачи.
Если распознавания составных или ратсровых образов не требуется — то персептрон тут то,
что надо. Распознавание очень уверенное.
C>рисуем на экране некоторую фигуру (окружность например), получаем массив координат точек этой окружности. C>потом рисуем вторую фигуру в совершенно другой области экрана, опять-же получаем массив. C>задача: сравнить эти фигуры, и выдать долю совпадения.
Я думаю вам стоит обратить внимание на синтаксическое распознавание образов (Syntactic Pattern Recognition). Распознавание контурных объектов состоящих из геометрических примитивов с помощью формальных грамматик проводится достаточно удобно.
Книги: Ту, Гонсалес, Принципы распознавания образов, М:Мир, 1978 г., Gonzalez, R.C., and Thomason, M.G.,
Syntactic Pattern Recognition: An Introduction,Addison-WesleyReading, 1978.
Здравствуйте, Force_Majeure, Вы писали:
F_M>Здравствуйте, jhng, Вы писали:
J>>Еще в нете есть книжка "Введение в контурный анализ. Приложения к обработке изображений и сигналов". Там приводятся алгоритмы, с помощью которых можно выделять произвольные контуры ну и делать с ними всякие операции (сравнивать например).
F_M>Я тоже сейчас копаюсь в данной теме, не подкинешь ссылку на книгу?
ссылка. Если не попрет — зайди сюда и выбери любую другую.
Здравствуйте, dmz, Вы писали:
C>>возник вопрос по сабжу:
C>>рисуем на экране некоторую фигуру (окружность например), получаем массив координат точек этой окружности. C>>потом рисуем вторую фигуру в совершенно другой области экрана, опять-же получаем массив. C>>задача: сравнить эти фигуры, и выдать долю совпадения. C>>Кто-нибудь занимался похожими вопросами? Помогите плз. или подскажите куда копать.
dmz>Проще всего применить персептрон. Если фигур, которые требуется распознавать немного, dmz>то он отично справится. Надо только выбрать инвариант, устойчивый к афинным преобразованиям — dmz>тут много способов, например можно за основу взять преобразование Фурье контура фигуры.
dmz>Была такая синяя книжка по нейронным сетям некоего не то поляка, не то чеха — к сожалению, dmz>я сейчас не дома и посмотреть не могу — там описано решение именно этой задачи.
dmz>Если распознавания составных или ратсровых образов не требуется — то персептрон тут то, dmz>что надо. Распознавание очень уверенное.
Если требуется инвариантное к сдвигу распознавание, то можно воспользоваться автокорелляторной сетью. Ее описание можно найти в издании "НЕЙРОИНФОРМАТИКА" / А.Н.Горбань, В.Л.Дунин-Барковский, А.Н.Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998. — 296с. А конкретно — в главе 8. В интернете архив должен валяться.