Исходники есть в соседней ветке (Сенсорика -> компьютерное зрение -> железо -> Опыт применения TGA130V10 (цифровая cmos-камера OV9650)) . Если уж мега8 тридцать фпс-ов выдаёт в автономном режиме, то арм вообще летать должен. Оптимизировать.
Ну блин загляните хотя бы в мою ветку AVRCam. Мега восьмая читает с камеры и шарик одновременно ищет при тех же 30 фпсах. И даже 8 шариков одновременно. И даже 8 разных цветов одновременно.
Добавлено спустя 42 секунды: Всё это крутится на 16 мегагерцах
Эээ... Вы че, хотите сказать, что я полгода пыхтел, получил в итоге на 60МГц АРМе 1.5fps, в то время как где то рядом лежал готовый код, дающий 30fps на 16МГц меге ? Я проверю. Если это окажется так, то я лошара
Ааа, вон че. Там "Fast and Cheap Color Image Segmentation". Сегментировать то легко канеш... Я уже видел подобную инфу краем глаза пару месяцев назад. У меня то полноценный код распознавания шарика и слежения за ним.
Так, нет. Там в конце определяется центр и размер. Ну похоже, что на этом алгоритме и реализован Cmucam3. Я этот проект и брал за образец. Тот код, который я смотрел, видимо и реализован по этому документику. Мне он не понравился, потому как он не подходит для сложных условий. Потом можно провести соревнования между тем кодом и моим
Добавлено спустя 2 минуты 27 секунд:
Ну допустим ты находишь в кадре пятно интересующего тебя цвета, что дальше с ним делаешь?
Сложно на словах объяснить. Потом опубликую все. Сейчас я отдыхаю
Я думаю, правильнее будет новый топик завести в "Мастерская > Наши проекты", где я красиво оформлю шапку А эту тему, наверно, можно будет закрыть, как рабочую/отладочную тему, отражавшую развитие проекта
artymen писал(а):Видео с камеры рабоатет стабильно, колор-трекинг работает отлично в тепличных условиях, прямая и обратная кинематика вычисляются нормально. Но все это по отдельности. Вместе же - демонстрируется плохое качество системы в целом. Математика вычисления положения шарика неверная, потом поправлю, но это ненамного улучшит результат. Плавность движений вообще никакая, я даже не могу добиться ее ограничением скорости движения. Оптика камеры дерьмовая, т.к. она для применения в мобильниках, для фотосъемки, а не видео, у нее при малейшем движении картинка геометрически искаженная, т.к. частоту мне пришлось понизить для увеличения экспозиции (иначе картинка темная). А при более сереьзном движении изображение вообще размазанное. Микроконтроллер тоже меня разочаровал, я совсем не ожидал настолько медленного выполнения вычислений. Ну и так далее. Я догадывался, что все будет хреновенько, но оказалось хуже. Вот мой монитор, написанный на Qt:
Посмотрел вашу проблему и хочу сказать пару слов: 1 На видео камере отключите наводку на резкость. 2 Объектив на камере подберите с глубиной резкости в пределах рабочей зоны руки робота. 3 Автоматическую регулировку в камере по освещённости либо загрубите ,либо отключите,а вокруг объектива поставьте светодиодную подсветку видимого или инфрокрасного спектра.
На этой видеокамере не было настройки на резкость, объектив был встроенный и я не мог его менять, и автоматику я отключал. Как я уже говорил, камера не была предназначена для этих целей. Я не исключаю, что можно было бы добиться лучших результатов с применением хитрых и сложных методов ЦОС, чуть ли не эвристического анализа и т.п. Но это уже совсем другой уровень. С тех пор много времени прошло. Сейчас я, конечно, делал бы все совершенно по-другому. То была студенческая наивная забава.