roboforum.ru

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

Mini 2440 и CMOS/USB камера

Mini 2440 и CMOS/USB камера

Сообщение Aseris » 22 фев 2011, 13:32

Предлагаю в данной теме обсуждать работу mini2440 + CMOS/USB камерой

Прочитав представленные в разделе темы наткнулся на упоминание запаздывания кадров до 0.5С с камеры идущей как аксессуар, хотя процессор имеет аппаратную часть отвечающую за работу видео тормозить не должен...

В данный момент хочу прицепить камеру от Samsung E700 и гарантированно обрабатывать под линуксом 7-10 кадров в секунду. Вот думаю или придется использовать RT linux, или это все возможно будет реализовать на том что идет в комплекте с платой.
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Mini 2440 и CMOS/USB камера

Сообщение Weekend » 22 фев 2011, 20:13

А каким образов в данной ситуации поможет RT Linux? Думаю, что ни как не поможет.
Аватара пользователя
Weekend
 
Сообщения: 15
Зарегистрирован: 16 фев 2011, 13:30
Откуда: Minsk
прог. языки: C/C++, Perl, Tcl/Sh, Python, Ruby, Pascal, Asm...

Re: Mini 2440 и CMOS/USB камера

Сообщение Aseris » 23 фев 2011, 15:32

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

Плюс я хочу синхронно с захватом кадров включать выключать например подсветку для хитрой фильтрации помех..

Может мне на первое время хватит обычного ядра с подправленным драйвером.

Зачем здесь ОС... лень самому писать работу с памятью, сетью, etc.
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Mini 2440 и CMOS/USB камера

Сообщение Weekend » 23 фев 2011, 16:23

Но скорость отработки RT ни как не увеличит.
Аватара пользователя
Weekend
 
Сообщения: 15
Зарегистрирован: 16 фев 2011, 13:30
Откуда: Minsk
прог. языки: C/C++, Perl, Tcl/Sh, Python, Ruby, Pascal, Asm...

Re: Mini 2440 и CMOS/USB камера

Сообщение Aseris » 24 фев 2011, 02:20

RT даст гарантированное время реакции а не увеличение производительности.

Столько людей на форуме имеют mini2440 + CMOS camera, и никаких отзывов, неужели никто не пробовал ничего?
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Mini 2440 и CMOS/USB камера

Сообщение serg_io » 24 фев 2011, 19:53

И что есть уже портирвоаный RTLinux для S3C2440? Я сам пытался разобраться в этом вопросе, но так ничего толком и не нашел. RTAI нет готового под этот проц, пробовал PREEMPT_RT патч - грузится, но такие драйвера как SD/USB рубят ось намертво.
serg_io
 
Сообщения: 25
Зарегистрирован: 07 июл 2010, 17:06

Re: Mini 2440 и CMOS/USB камера

Сообщение Palachzzz » 19 мар 2011, 13:01

mini2440 + CMOS camera, и никаких отзывов, неужели никто не пробовал ничего?

Эмм.. пробовал на обычных QTopia, Debian и Gentoo запаздывание одинаково велико (0,5С), и не важно какой метод просмотра- на экран или транслирование в сеть.
При использовании MINI без ОС (test2440), запаздывания нет при выводе на экран.
Palachzzz
 
Сообщения: 73
Зарегистрирован: 13 июн 2010, 13:34
Skype: Z_Z_Z-77
прог. языки: С++, Delphi
ФИО: Павел Новиков

Re: Mini 2440 и CMOS/USB камера

Сообщение Aseris » 07 май 2011, 23:36

Пришла камера, дошли руки поэкспериментировать.
Родные дрова и софта под линукс что идет в комплекте с платой ужасно тормознутые, как говорил народ запаздывание налицо. Порывшись в интернете наткнулся на проектик http://code.google.com/p/s3c2440camera/

Пересобрав ядро 2.6.32.2 с поддержкой камеры как модуль, плюс попутно выкинул все что мне ненужно(usb, SCSI.. etc) и включив поддержку ex2, ex3, reiserfs, jafs. Как читаем здесь http://roboforum.ru/forum96/topic8415.html и в нете
ulinux.zip
кому лень, или не знает как собрать, вот образ для u-boot
(1.87 МиБ) Скачиваний: 0


Все собиралось на Calculate Linux Roboforum Build, берем тут http://roboforum.ru/forum10/topic8216.html

Скачиваем сорсы нового драйвера отсюда http://code.google.com/p/s3c2440camera/downloads/list, правим мейкфайл под наш огород: прописываем путь к собранному ядру, прописываем компилятор.

Код: Выделить всёРазвернуть
СС=armv4tl-softfloat-linux-gnueabi-gcc
...
KERNELDIR ?=/home/minin2440/kernels/linux-2.6.23.2


затем
make
make test_capture

вот ленивым:
pack.zip
модуль и тестовая программа
(15.45 КиБ) Скачиваний: 0


переписываем на наш rootfs файлы s3c2440camera.ko, test_capture


запускаем mini2440
пишем
insmod /s3c2440camera.ko

проверяем
./test_capture /dev/video1 320 240 testimg 10

В первых 3х файлах окажется мусор, видимо буферы камеры не заполнены. Потом имеем на выходе пары файлов ..._CbCr.PPM ..._Y.PGM
фреймрейт ~60fps

Простой программкой, в моем случае простым скриптом на матлабе смотрим что получилось, конвертируя из YCbCr в RGB

screeshot.jpg
Результат (защитная пленка не снята)


Следующий шаг вывести поток с камеры на фреймбуффер.
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Mini 2440 и CMOS/USB камера

Сообщение Strijar » 08 май 2011, 12:44

Запаздывание скорей всего из-за буферизации. Так точно сделано для at91sam9 - выделяется нужное количестко буферов (по умолчанию для 4 кадров) и по кругу в них пишется - "с головы". По кругу же, но "с хвоста" читается. Вот и считайте если у вaс 7 fps то буфер из 4 кадров как раз и дает 0.5 сек. Но это справедливо если пользовать stream способ у v4l, если брать покадрово (capture) то задержки не будет, но это слегка медленней.
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: Mini 2440 и CMOS/USB камера

Сообщение Aseris » 08 май 2011, 13:54

На счет родной софты не знаю, ее авторы делится исходниками не захотели, а буферизация там по ощущениям в кадров 10 - 20
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Mini 2440 и CMOS/USB камера

Сообщение Aseris » 20 май 2011, 00:40

Дошли руки до приложения выводящего кадры на фреймбуфер
Camtest.zip
(7.93 КиБ) Скачиваний: 0

запускаем
./fb_teset /dev/video0 320 240 9

что это за параметры программа рассказывает если ее без них запустить

"наслаждаемся" картинкой.

Все еще где-то есть вредные буферы.. ибо тормоза поменьше но в несколько кадров есть... штуки 2-3... подозреваю что они прячутся в прослойке v4l2 между камерой и приложением ...

Кто нибудь знает вменяемую ссылку на инфу по работе с v4l2?
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Mini 2440 и CMOS/USB камера

Сообщение UncleSam » 30 авг 2011, 05:44

День добрый.
А трансляцию через сеть не пробовали осуществить?
Сейчас появилось свободное время, разбираюсь. Первым делом хочется попробовать видео на большого брата гнать.
Аватара пользователя
UncleSam
 
Сообщения: 29
Зарегистрирован: 07 фев 2011, 15:51
Откуда: Хабаровск
прог. языки: С, С++, Perl, ASM
ФИО: Александр

Re: Mini 2440 и CMOS/USB камера

Сообщение Michael7 » 21 янв 2013, 19:56

у меня задержка изображения от USB камеры 3-4 сек.
камеру считываю средствами OpenCV.
Ктото сталкивался с подобной проблемой, как решить?
пробовал считывать камеру этой библиотекой http://code.google.com/p/libv4l2cam/ , но не получается данные подогнать для отображения в OpenCV.
Michael7
 
Сообщения: 2
Зарегистрирован: 24 дек 2012, 12:46


Вернуться в mini2440

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

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