wyfinger 0 Жалоба Опубликовано March 9, 2011 Есть фотография объекта, представляющего собой набор ромбиков под разными углами (приблизительно известными) и 6 возможных цветов. Задача определить порядок следования этих ромбиков. Вопрос: понятно, что OpenVC подходит для задачи, есть ли более простые библиотеки способные справиться с этим? я пишу на Delphi, но задачу, возможно, нужно будет реализовать и на С#, C++. Нужно что-то простое и универсально. И собственно основной вопрос - посоветуйте порядок действий. Я понимаю, что сначала нужно делать фильтрацию изображения, устранение шумов и прочее - это я пожалуй смогу сделать, а дальше? Читал пару статеек про анализ изображений на matlab - там операцию поиска региона (например прямоугольника или ромба) на изображении называли поиском блоба (вроде). Как эта задача делается в OpenCV? Естественно приветствуются ссылки на русскоязычные примеры. Спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано March 9, 2011 Уточните только пару моментов: 1) Обрабатываться будут именно фотографии (критично ли время анализа, то есть нужно ли загонять его в рамки десятков миллисекунд) ? 2) Прикрепленное изображение является характерным? Т.е. подаваемые на вход изображения будут такими же чистыми? Если нет, то неплохо бы привести изображение близкое к реальному, т.к. это даст много важной информации. Для анализа блобов есть пристройка к opencv http://opencv.willowgarage.com/wiki/cvBlobsLib Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
wyfinger 0 Жалоба Опубликовано March 10, 2011 Уточните только пару моментов: 1) Обрабатываться будут именно фотографии (критично ли время анализа, то есть нужно ли загонять его в рамки десятков миллисекунд) ? 2) Прикрепленное изображение является характерным? Т.е. подаваемые на вход изображения будут такими же чистыми? Если нет, то неплохо бы привести изображение близкое к реальному, т.к. это даст много важной информации. Для анализа блобов есть пристройка к opencv http://opencv.willowgarage.com/wiki/cvBlobsLib 1. Время обработки не критично. 2. Вообще задача распознать комбинацию кубика-рубика по 4 фотографиям. Примеры: Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано March 10, 2011 Задача очень похожа на работу с изображениями зданий. Ты не пробовал искать прямые с помощью преобразования Хафа? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
noonv 3 Жалоба Опубликовано March 10, 2011 в примерах OpenCV есть такой пример, как squares.c для поиска квадратов - может можно его тут применить? там сначала выполняется алгоритм Кенни для поиска границ, затем выполняется поиск контуров и затем поиск четырёхугольников. Думаю, здесь этот алгоритм так же вполне подойдёт. После нахождения квадратов (лишние четырёхугольники можно будет отсеять по параметрам площади и т.п.) можно будет определять какой цвет находится внутри четырёхугольника. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано March 10, 2011 Нашел у себя что то близкое к этой задаче. В аттаче исходники, для C++ Builder 6 и образцы изображений клеток кубика (образцы, разумеется нужно переснять с Вашего кубика), с которых он собирает статистику по цвету. Затем с камеры берется изображение, и строится обратная проекция по одному из цветов, номер цвета устанавливается при помощи TrackBar1. Затем находятся контуры клеток.cubik.rar Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах