roboforum.ru

Технический форум по робототехнике.
Текущее время: 23 ноя 2024, 20:41

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 470 ]  На страницу Пред.  1 ... 21, 22, 23, 24, 25, 26, 27 ... 32  След.
Автор Сообщение
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 17 май 2010, 12:51 
Не в сети
Аватара пользователя

Зарегистрирован: 23 апр 2009, 17:03
Сообщения: 2639
Откуда: Москва, Самара
прог. языки: C#
artymen писал(а):
да, YUYV весьма темный и скользкий формат из-за "двухпиксельности", и это создает жуткую путаницу.


Светлый и ясный формат ;)
У меня есть OV9655, там этот формат тоже есть.
Вкратце, есть два соседних пикселя с камеры (P1, P2).
Их цвет описывается как (Y1, U, Y2, V). Y1, Y2 = яркости для каждого пикселя.
U, V = общие для обоих пикселей. Y1, U, Y2, V = 4 байта.
Конверсия в RGB:
Код:
                 // Common part for both pixels
                 u = frameBuffer[idxFrame];                  // U component
                 v = frameBuffer[idxFrame + 2];      // V component

                 // Start YUV -> RGB conversion
                 u -= 128;
                 v -= 128;
                 v1 = (5727 * v);
                 uv1 = -(1617 * u) - (2378 * v);
                 u1 = (8324 * u);

                 // Pixel #1
                 y = frameBuffer[idxFrame + 1];                         
                 
                 y1 = y << 12;
                 r = (y1 + v1) >> 12;
                 g = (y1 + uv1) >> 12;
                 b = (y1 + u1) >> 12;
                 if (r > 255) r = 255;
                 else if (r < 0) r = 0;
                 if (g > 255) g = 255;
                 else if (g < 0) g = 0;
                 if (b > 255) b = 255;
                 else if (b < 0) b = 0;
                 
                 // Use (rgb) for pixel #1
                 //putchar(r); putchar(g); putchar(b);



                 // Pixel #2
                 y = frameBuffer[idxFrame + 3];
                 
                 y1 = y << 12;
                 r = (y1 + v1) >> 12;
                 g = (y1 + uv1) >> 12;
                 b = (y1 + u1) >> 12;
                 if (r > 255) r = 255;
                 else if (r < 0) r = 0;
                 if (g > 255) g = 255;
                 else if (g < 0) g = 0;
                 if (b > 255) b = 255;
                 else if (b < 0) b = 0;
                 // Use (rgb) for pixel #2
                 //putchar(r); putchar(g); putchar(b);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 17 май 2010, 16:02 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2009, 13:13
Сообщения: 763
Откуда: Красноярск
прог. языки: С++, Delphi, PHP, SQL, 1C
ФИО: Александр
:D Читаю темку с начала... Гыыыы Прямо как детектив))))))) уже на 8 странинце дата- 21.10.09. Мысль - кспеет или неуспеет :)

Добавлено спустя 2 часа 12 минут 31 секунду:
наконец то дочитал)))
Детективчик то недописан пока.
Очень интересное обсуждение. Породило множество идей однако.
Только бы незабыть когда до них руки дойдут ))
Жаль что ТС помочь ничем не могу - не работал с камерами.

_________________
Первая заповедь радиотехника - почисти контакты!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 17 май 2010, 21:20 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2009, 10:44
Сообщения: 353
Откуда: Омск
Skype: artymen1
ФИО: Артем Константинович
Цитата:
:crazy: там всё-равно 2 байта на пиксель, как ни крути. :o
вот именно, как ни крутить, меньше чем 160х120х3 мне не удастся передать с тем же качеством. т.е. предположим, я буду интерепретировать YUYV как два пикселя, но тогда и длина строки у меня увеличится в два раза, размер данных останется прежним. те же пироги ;)
Цитата:
и тем более нафига вообще это делать, когда камера может выплёвывать данные в RGB565 формате.
во-первых, мне не удалось это сделать. во-вторых, я вскоре понял, что меня совершенно не устраивает такая низкая глубина цвета.
Цитата:
вот я такие статьи и имел в виду. первая - это тупо энциклопедия констант для всяких DirectShow, где программисту вовсе не нужно встревать во все дебри. вторая гораздо лучше, но вопросы все равно останутся

AndreiSk, ну я примерно понял, потом как-нить пересмотрю эту сторону, а пока пусть работает как есть :)

Цитата:
:D Читаю темку с начала... Гыыыы Прямо как детектив))))))) уже на 8 странинце дата- 21.10.09. Мысль - кспеет или неуспеет :)
Добавлено спустя 2 часа 12 минут 31 секунду:
наконец то дочитал)))
я всегда рад столь самоотверженным читателям :D детектив подходит к концу, скоро вы узнаете, чем это все закончится.
голосуйте ! отправляйте смс на короткий номер 02 с номером варианта концовки, который вы ожидаете увидеть:
1. автор завершит к сроку проект и реализует в нем все задуманное
2. автор не успеет и получится недоробот с глюками
3. автора заберут в армию
4. мозг автора взорвется до завершения проекта
5. робот выйдет из под контроля и убежит от автора (упрыгает), как только научится распознавать девушек
6. военные выкупят у автора проект для создания нового поколения киборгов, ну а автора, разумеется, заберут в армию


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 18 май 2010, 04:57 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2009, 13:13
Сообщения: 763
Откуда: Красноярск
прог. языки: С++, Delphi, PHP, SQL, 1C
ФИО: Александр
аха..
7. робот поколотит создателя шоб неиздевалси)))

_________________
Первая заповедь радиотехника - почисти контакты!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 18 май 2010, 20:54 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2009, 10:44
Сообщения: 353
Откуда: Омск
Skype: artymen1
ФИО: Артем Константинович
он уже покушался. хитрый киборг не реагировал ни на какие объекты и я поднес свое лицо ради прикола, вдруг срегагирует, и он на меня накинулся :D хорошо, что я хваталку пока еще не запрограммировал, так бы нос отцапал :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 13:14 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2009, 10:44
Сообщения: 353
Откуда: Омск
Skype: artymen1
ФИО: Артем Константинович
Успехов нет. Я переключаюсь на бумажную работу. Пока диплом не будет готов к защите, не притронусь к роботу.
Вот видео на потеху:


Последний раз редактировалось artymen 21 май 2010, 18:16, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 15:53 
Не в сети
Аватара пользователя

Зарегистрирован: 23 апр 2009, 17:03
Сообщения: 2639
Откуда: Москва, Самара
прог. языки: C#
Каких успехов нет?
В чем именно проблема?
Может коллективный разум поможет... :roll:
Напиши вкратце, что получил, как обработал, куда результат сунул, что не получилось.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 18:15 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2009, 10:44
Сообщения: 353
Откуда: Омск
Skype: artymen1
ФИО: Артем Константинович
Видео с камеры рабоатет стабильно, колор-трекинг работает отлично в тепличных условиях, прямая и обратная кинематика вычисляются нормально. Но все это по отдельности. Вместе же - демонстрируется плохое качество системы в целом. Математика вычисления положения шарика неверная, потом поправлю, но это ненамного улучшит результат. Плавность движений вообще никакая, я даже не могу добиться ее ограничением скорости движения. Оптика камеры дерьмовая, т.к. она для применения в мобильниках, для фотосъемки, а не видео, у нее при малейшем движении картинка геометрически искаженная, т.к. частоту мне пришлось понизить для увеличения экспозиции (иначе картинка темная). А при более сереьзном движении изображение вообще размазанное. Микроконтроллер тоже меня разочаровал, я совсем не ожидал настолько медленного выполнения вычислений. Ну и так далее. Я догадывался, что все будет хреновенько, но оказалось хуже.
Вот мой монитор, написанный на Qt:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 18:18 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Кстати, а почему плавность движений серв программно не обеспечивается?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 18:55 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2009, 10:44
Сообщения: 353
Откуда: Омск
Skype: artymen1
ФИО: Артем Константинович
Обеспечивается, но толку мало ! О какой плавности может быть речь, когда управление осуществляется по положению, да еще и дискретность которого имеет очень низкое разрешение. Я что на 90 градусов поверну серву, что на 2 градуса, один фиг она резко начнет движение и резко остановится. Я пробовал менять интервалы времени и шаги приращения положения - бесполезно - получается дрожащее движение. А механические свойства соединений звеньев еще больше усугубляют дело.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 19:17 
Не в сети
Аватара пользователя

Зарегистрирован: 23 апр 2009, 17:03
Сообщения: 2639
Откуда: Москва, Самара
прог. языки: C#
Жаль конечно что так вышло. Столко слез пролито, столько камер сломано :cry:
По своей сути у тебя получилась плохонькая вебкамера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 19:29 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
да не так уж и плохо всё на самом деле, 5 из 5 на экзамене вполне реально получить. на будущее - ssc32 (самделашная примерно в 3-6$ обходится) вполне сносно может сервы без резких движений вращать. с особенностями работы OR плат близко не знаком, но врядли там дела хуже. +or плата при необходимости вполне может помочь разгрузить второй контроллер от работы с различной перефирией


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 20:38 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2009, 10:44
Сообщения: 353
Откуда: Омск
Skype: artymen1
ФИО: Артем Константинович
ну если ssc32 может, то почему я не могу ? интерфейс то тот же


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 21:44 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
интерфейс тот же, а управление другое. и вы при желании сможете. а вот учитывая ограниченность по времени яб не стал сейчас с этим заморачиваться. дописал бы до заключения и если еще останеться время, то только тогда чтот пробовал. маленькая поправка - я стороник идеи, что сервами должен управлять отдельный контроллер, да так больше потребление и места больше нужно, но... зато все импульсы гарантировано выдерживаются, да код не нужно усложнять.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Робот DemoVisionRobot с техническим зрением
СообщениеДобавлено: 21 май 2010, 22:29 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2009, 10:44
Сообщения: 353
Откуда: Омск
Skype: artymen1
ФИО: Артем Константинович
Я рассматривал такой вариант, но тогда я еще не догадывался, насколько сложным окажется код, когда я объединю всю исполнительную логику в единую программу. Я полагаю, что если плавного движения и возможно добиться, то только при очень большой занятости проца сервами. Это не только невозможно из-за синхронной работы с камерой, но и просто отберет кучу процессорного времени, а робот итак уже тормознее некуда. Однозначно нужен дополнительный МК, но слишком поздно. Я считал кинематику, динамику проигнорил, и теперь расплачиваюсь. На доп. МК можно было бы и динамику еще реализовать... Что сделано, то сделано. Продолжаю доделывать чертежи и ПЗ...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 470 ]  На страницу Пред.  1 ... 21, 22, 23, 24, 25, 26, 27 ... 32  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO