roboforum.ru

Технический форум по робототехнике.

Энциклопедия по робототехнике - Распознавание маяков QCode

Автомат, адаптивный автомат ... разум

Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение =DeaD= » 12 янв 2008, 23:54

Выложил свою разработку - пока в виде алгоритма и общего описания. Чуть позже будет в виде библиотеки готовой к использованию и пример проекта использующего её.

[[Распознавание маяков типа "Q-Code"]]

А здесь пишу еще для того, чтобы туда файлики подцепить :) их только через форум можно, если это не изображения.
Вложения
QCode_A4.doc
Незаполненный шаблон для маяка (это не готовый маяк!!!)
(32.5 КиБ) Скачиваний: 707
QCode_A5.doc
Незаполненный шаблон для маяка (это не готовый маяк!!!)
(46.5 КиБ) Скачиваний: 666
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение Vooon » 12 янв 2008, 23:58

док или пдф на сколько помню можно загнрузить.
Код: Выделить всёРазвернуть
[[Media:file]]
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение =DeaD= » 13 янв 2008, 00:04

Vooon писал(а):док или пдф на сколько помню можно загнрузить.
Код: Выделить всёРазвернуть
[[Media:file]]

Да что-то нафиг эксперименты, тут проверенный путь :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение EdGull » 13 янв 2008, 10:28

1. Находим на изображении все контуры;
2. Аппроксимируем найденные контуры ломаными;
3. Среди ломаных находим похожие на квадраты;
4. Каждый такой похожий на квадрат контур проверяем на то, что он является внутренней границей внешнего контура квадратиков "Маяка", для этого пытаемся удостоверится в целостности данных им представленных, просто делим его внутренность на квадратики 7х7, и проверяем корректность представленных там битов информации и контрольной суммы;

Если рапишешь код, то я засуну его в программируему логику. И наступит вселенское счастье... :D
для первого пункта у меня есть код.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение =DeaD= » 13 янв 2008, 11:45

EdGull писал(а):
1. Находим на изображении все контуры;
2. Аппроксимируем найденные контуры ломаными;
3. Среди ломаных находим похожие на квадраты;
4. Каждый такой похожий на квадрат контур проверяем на то, что он является внутренней границей внешнего контура квадратиков "Маяка", для этого пытаемся удостоверится в целостности данных им представленных, просто делим его внутренность на квадратики 7х7, и проверяем корректность представленных там битов информации и контрольной суммы;

Если рапишешь код, то я засуну его в программируему логику. И наступит вселенское счастье... :D
для первого пункта у меня есть код.

Код я буду расписывать только для пунктов 3 и 4, поскольку пункт 2 уже есть готовый в OpenCV :)

А вселенского счастья не наступит, вот когда перейду к ориентации по произвольным выхваченным образом в неподготовленном пространстве и к восстановлению 3Д-картинки по последовательности кадров или стереопаре - тогда может быть... :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение EdGull » 13 янв 2008, 15:38

поскольку пункт 2 уже есть готовый в OpenCV

так его ж в программируемую логику не засунешь!!!
а так была бы отдельная железяка которая бы на например уарт выдавала бы готовые расчеты номера маяка и дистанцию до него
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение =DeaD= » 13 янв 2008, 18:30

EdGull писал(а):
поскольку пункт 2 уже есть готовый в OpenCV

так его ж в программируемую логику не засунешь!!!
а так была бы отдельная железяка которая бы на например уарт выдавала бы готовые расчеты номера маяка и дистанцию до него

В этом самом OpenCV есть исходники, их можно переписать под программируемую логику :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение EdGull » 13 янв 2008, 18:55

а упростить там ничего нельзя, чтоб кода поменьше было впихивать
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение =DeaD= » 13 янв 2008, 19:52

EdGull писал(а):а упростить там ничего нельзя, чтоб кода поменьше было впихивать

Что имеется в виду? Я вроде не выкладывал особо кода никакого, чтобы было что упрощать.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение EdGull » 13 янв 2008, 20:09

я про OpenCV
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение =DeaD= » 13 янв 2008, 20:19

EdGull писал(а):я про OpenCV

Упрощать в OpenCV пожалуй лучше не надо, люди продвинутые писали, если можно что-то упростить по размеру кода - явно влетишь по производительности. А вообще - я не понял, вы уже скачали библиотеки, нашли все необходимые функции и вас не устраивает размер кода, или вы просто так удочку закидываете? :)

(чую больше похоже на второй вариант :D)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение EdGull » 13 янв 2008, 20:24

да я анусом чую что там код ни в какую FPGA не всунешь... :D
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение =DeaD= » 13 янв 2008, 20:44

EdGull писал(а):да я анусом чую что там код ни в какую FPGA не всунешь... :D

Да, это безусловно новое слово в оценке технических возможностей вычислительных средств :ROFL: :ROFL: :ROFL:

А какие-то другие методы анализа информации у вас практикуются? Ну чтобы можно было о килобайтах кода разговаривать и т.п.? :D

PS: Хотя о чем мы сейчас? Тщетно всё это :) вы всё равно не полезете заниматься урезанием OpenCV, а у меня всё равно не будет времени пока копаться там же урезая OpenCV до минимального набора, который будет выполнять поиск моих маяков, а если и даже это будет сделано - слишком низка вероятность, что вы таки соберетесь и запихаете это в FPGA.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение EdGull » 13 янв 2008, 20:57

ладно... проехали...
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Энциклопедия по робототехнике - Распознавание маяков QCode

Сообщение =DeaD= » 15 янв 2008, 00:28

Сегодня попробую сделать на основе старых разработок и выложить библиотеку распознавания маяков, а также пример проекта под Borland C++ Builder её использующий.

Добавлено спустя 8 часов 42 минуты 19 секунд:
Библиотека распознавания маяков выложена - [[Библиотека cvQCodeBeacons]]

Добавлено спустя 7 минут 48 секунд:
Выкладываю исполняемый файл с библиотеками примера использования библиотеки cvQCodeBeacon (прикреплен к сообщению), а так же проект под Borland C++ Builder 6.0 исходный (в него не стал повторно включать библиотеки - их возьмите их архива с исполняемым файлом).

Чтобы проверить как это работает - нужно подключить Веб-камеру с разрешением не менее 640х480 и запустить исполняемый файл в каталоге в котором так же лежат библиотеки из того же архива, откуда возьмете исполняемый файл :) Да! Чуть не забыл - маяки еще надо распечатать. Файл с готовыми маяками №1 и 10 прилагается ниже, размер как видно из названия файла - А5.
Вложения
QCode_A5_n1_n10.doc
Это готовые маяки размером А5 с номерами 1 и 10. Для целей отладки, чтобы не делать их самому.
(46.5 КиБ) Скачиваний: 466
QCodeBeaconTestSrcWithoutDlls.zip
(1.25 МиБ) Скачиваний: 53
QCodeBeaconsTest.zip
(1.12 МиБ) Скачиваний: 56
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

След.

Вернуться в Алгоритмы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10