roboforum.ru

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

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


Правила форума


В этом форуме новые темы не создаются, однако обсуждение допустимо.



Начать новую тему Ответить на тему  [ Сообщений: 93 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Как оцифровать видео AVR-кой. Схема макетика и исходники.
СообщениеДобавлено: 19 окт 2009, 23:43 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
По просьбе EdGull выкладываю для желающих поизгаляться...

Исходники и хекс для AVR на GCC (пользуюсь версией 20080512) - тупая хваталка с камеры 80х60 пикселей.
Посылает данные через FTDI на комп.
Исходники и экзешник для компа на VB - ловит данные и показывает.

Картинка:
Вложение:
6f377835e4a8.jpg
6f377835e4a8.jpg [ 20.29 КиБ | Просмотров: 108204 ]

Схема:
Вложение:
sch.GIF
sch.GIF [ 15.91 КиБ | Просмотров: 119989 ]


Питание 5 вольт.
Кварцы: на меге - 20Мгц, на FTDI - 6МГц.
Все конденсаторы - 0.1мкф
Резисторы слева направо 1.5к, 470, 470...
два делителя справа - у меня стоят подстроечники на 4к7

ОФФТОПИКОМ в этой теме будет считаться:
- зачем это надо автору,
- на чем и как это сделать будет лучше,
- обсуждение кривизны схемотехники и кода.
( Это я и так знаю :) - делал быстрый макет. )


Частота проца 20МГц, предделитель АЦП - 4.
Получаем оцифровку с периодом 2.6 микросекунды.
Строка видеосигнала - 64 микросекунды (видеоданных меньше)
Строк 252.
Получается порядка 20 точек на строку растра.
То есть, если подходить тупо, то можно получить разрешение
20(ширина кадра)x280(высота) - это неудобно.

Поэтому я делаю выборки по принципу "шахматной доски":
Выборки из строк выбираются со смещением относительно строба.

Вложение:
images.jpg
images.jpg [ 12.03 КиБ | Просмотров: 120892 ]


AVR-ка может выделить на обработку порядка пятидесяти тактов на каждый пиксель.

А вот узнать хотелось бы следующее:
- Что в эти 50 тактов хочется поместить и что туда удастся поместить?


На вопросы по схеме и исходникам отвечу.




Вложения:
Комментарий к файлу: Исходники
Send_to_comp_80x60.zip [72.68 КиБ]
Скачиваний: 323


Последний раз редактировалось Michael_K 13 янв 2010, 16:31, всего редактировалось 2 раз(а).
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 17:33 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
наверняка кто-то что-то такое ковырял для слабых МК
надо только найти =)
мне лень)

ЗЫ
я тут подумал ещё чуть чуть
обычная видеокамера обладает встроенным АРУ
достаточно тормозным, видимо он использует общую яркость последних неск кадров для того чтобы снизить выходной сигнал немного, если всё равно есть пересвет то ещё чуть снижает уровень
и так плавно пока не попадём в нормальную экспозицию.

уровень там меняется многократно
с увеличением шумов и ухудшением цветности с понижением общей освещённости

если ей под нос дать шим 50% фонариком она скорей всего настроится на некий средний уровень за последнюю секунду-полторы.
соответственно кадр без фонарика будет недосвечен, кадр с фонариком пересвечен

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 18:54 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
Варианты применения и алгоритмы – это хорошо, но несколько не в тему.
Меня больше интересует техническая сторона вопроса
Цитата:
...тупая хваталка с камеры 80х60 пикселей.

Строка 64мкс, 80 точек это 64/80=0,8мкс или скорость оцифровки >1200ksps. Как удалось получить такой результат с АЦП, который выше 200ksps раньше разогнать никому не удавалось? :pardon:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 19:34 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 19:42 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Myp писал(а):
наверняка кто-то что-то такое ковырял для слабых МК

Я подчеркну еще раз - проблема ВОВСЕ НЕ в слабом МК, а в реалтайме.
Если вы возьмете ARM 100MHz и камеру 320х240 х 30Гц,
то получите еще меньше тактов на пиксель - посчитайте.
(А тут продвигаемые 1300х1000 х 15Гц - это вообще задача для специализированных ядер -
даже у гигагерцового пня будет всего 50 тактов на пиксель).

Myp писал(а):
обычная видеокамера обладает встроенным АРУ

Да. И это можно использовать.

Myp писал(а):
было бы интересно узнать вектор движения группы пикселей в кадре.

Ну это вы замечтались, конечно.
Тем более если речь идет о роботе, который сам по себе едет, поворачивает и колбасится.
Эту группу пикселей надо еще найти, сгруппировать,
она там будет не одна, и двигатся группы будут с разными скоростями.
Это, безусловно, сложная и не реалтаймовская задача _для таких условий_.

Но вот упростить задачу можно.
Давайте будем искать не "вектор движения группы пикселей",
а тупо - двигается ли что-то слева? Двигается ли что-то справа?
Или найти "центр чего-то движущегося". Думаю, и такая постановка
задачи может быть полезной и найдет применение.
Да, не везде и, конечно, не всегда - но ведь и это будет результатом!
Здесь сложность скорее в том, что у нас камера сама движется,
а не в самом детекторе движения.

Ведь датчики движения, которые висят повсеместно, работают
вообще по интегральному уровню... Ну нету у них пикселей.
У нас пиксели есть, но это не обязывает нас использовать сложные
алгоритмы и ставить сложные теоретические проблемы.


Последний раз редактировалось Michael_K 20 окт 2009, 20:04, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 19:52 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
это уже второй вопрос, хотя на первый ответа не получил :(
Цитата:
Если вы возьмете ARM 100MHz и камеру 320х240 х 30Гц,

О каких 30Гц постоянно идет речь, если у дверного глазка кадровая 50Гц?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 20:46 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
contr: Вам бы тему сначала прочитать, чего и как Michael_K оцифровывает. У него то практика в активе, а у вас голословные рассуждения человека даже неудосужевшегося прочитать чего сделано на практике. Впрочем мне уже ясно к чему вы всё клоните - Michael_K конечно же великий фальсификатор, ничего этого он не мог сделать и всё врёт :crazy:

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 20:56 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
contr писал(а):
Цитата:
...тупая хваталка с камеры 80х60 пикселей.

Строка 64мкс, 80 точек это 64/80=0,8мкс или скорость оцифровки >1200ksps. Как удалось получить такой результат с АЦП, который выше 200ksps раньше разогнать никому не удавалось? :pardon:


Ну значит автор поста первый, кому удалось :)

Написаны же были все цифры:
Частота сэмплинга - 384.6 ksps (2.6 мкс на сэмпл)
20 сэмплов на строку (52 мкс из 64 - остальное - невидимая часть строки, поля там и синхроимпульс)
строк по видимому 240 (хотя в другом посте 280 - это нам Michael_K прояснит я думаю).

За счет смещения сэмплов из растра 20х240 получаем 80х60 - примерно так же, как в обычном ТВ из 300 с чем-то строк на 50 Гц получается 625 на 25 - там чересстрочность 1:2, тут "чересстолбцовость" :) 1:4. Не надо только сразу заявлять, что это "обман" и пикселей 20. В бытовом 4-мпиксельном цифровом фотоаппарате при разрешении картинки 2304х1728 в каждой строке тоже 1152 пикселя одного цвета - и ничего, никто не жалуется, остальные вообще программно придумывают :)

Добавлено спустя 30 секунд:
contr писал(а):
О каких 30Гц постоянно идет речь, если у дверного глазка кадровая 50Гц?

Я думаю о вебкамере :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 21:26 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Цитата:
строк по видимому 240 (хотя в другом посте 280 - это нам Michael_K прояснит я думаю).


Со строками экспериментировал.
В выложенных исходниках - 252
(меньше 256 - чтобы влезало в байт, и кратно 4-м, чтобы набрать из 4-х строк одну :)).
Реальное разрешение, соответственно, 80х63.
На картинке на компе "пиксели" тоже расставлены в "шахматном" порядке
- можно заметить "гребенку" в верхней строке на скриншоте.

Честно скажу, у меня вначале была вообще идея просто повернуть камеру набок.
Получить максимальное разрешение по направлениям движения робота с любим (никаким)
разрешением по вертикали. По линии ездить - сойдет.
А потом уже пришло в голову пиксели сдвигать.

Добавлено спустя 5 минут 37 секунд:
Цитата:
у дверного глазка кадровая 50Гц?

Ничего не знаю, на моей камере было написано: "стандарт PAL".
Для ч.б. камеры думаю, что это значит что кадровая 60Гц, хотя не мерил.
Причем тут глазок - не понял.

У всяких телефонных и веб матриц обычно в мануалах указаны параметры для 15-30-60 Гц,
хотя понятно, что тактировать можно по-разному.

Добавлено спустя 18 минут 45 секунд:
2Contr:
Я уже про это писал и, более того, отвечал вам лично.
Только вы, очевидно, ответы не читаете.
Смысл-то вам отвечать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 21 окт 2009, 00:44 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
Извините, но в ЛС Вашего ответа не наблюдаю и смысл фразы
Цитата:
Для компьютерной программки из четырех строк формируется одна "широкая".

Дошел только сейчас. :cry:


Последний раз редактировалось contr 21 окт 2009, 15:03, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 21 окт 2009, 15:02 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
PAL – система кодирования цвета, к кадрам не привязана. Зато 30Гц, вернее 30fps – прямое указание на цифровую камеру.
Глазком обзывают Ч/Б камеру с цифровым сенсором и аналоговым выходом.

Ладно, откуда взялись пикселы, сделавшие строку длиннее выяснил. Теперь прикинем, что дает искусственное увеличение размера. Допустим, имеется вертикальная линия шириной 1/20 строки. Фрагменты для двух строк будут такие
0-0-255-0-
-0-127-127-0
итоговый 0-0-0-127-255-127-0-0.
Да, размер удвоился, но информации больше не стало, скорее сами добавили шумов. И зачем?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 21 окт 2009, 22:28 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Contr, вы знаете, что такое оффтопик?
Цитата:
0-127-127-0

С чего вы это взяли?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 21 окт 2009, 22:58 
Не в сети
Аватара пользователя

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

Заниматься техническим зрением он не будет никогда, проблему и её решение не понимает - какой смысл ему отвечать? ;)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 22 окт 2009, 00:13 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
Цитата:
С чего вы это взяли?

шахматное смещение на второй строке приведет к тому, что по половинке линии окажется в соседних оцифровываемых пикселах.
Реальное разрешение камеры в данном случае ограничено скоростью оцифровки и искусственное раздувание размера картинки ничего не дает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 22 окт 2009, 00:21 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Вы были бы правы, если бы АЦП был интегрирующий.

Я снимаю с кадра 60х80 = 4800 точек. Реальных.
Равномерно расположенных на кадре.

Посмотрите на скриншот - видите вертикальную складку на майке?
Она шириной в один пиксель.


Последний раз редактировалось Michael_K 22 окт 2009, 00:54, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 22 окт 2009, 00:54 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
Спасибо! Теперь дошло! Что АЦП выхватывает уровень и только потом его цифрует не подумал :(
Получается, что строки должны быть сдвинуты на 1/4, а не в шахматном, если уж учетверять.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 93 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

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


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

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


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

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