День добрый! У меня есть задача по отслеживанию позиции ик светодиодов с камеры. В конечном итоге должно получиться что-то на подобии wii но только с дополнительными наворотами (возможность настройки в основном, +расширяемость).
Логично, что для такой задачи обрабатывать видео программно (на компьютере) очень глупо т.к. узкое место это пересылка видеопотока, а для моей задачи нужно слать всего 50(fps)*2(координаты)*2(байта на коорд.)*n(точек).
Еще очень важно достигнуть высокой актуальности информации т.е. получать данные в комп. моложе 30мс.
Собственно вопрос: Может ли мне подойти готовые решения? - CMUCAM - Surveyor SRV-1 Blackfin Camera Хватит ли их по скоростям? Нужно получить 50fps. Есть ли какие-нибудь другие похожие решения?
Со светодиодами проблем нет, их есть много разных и по направленности и по частоте и но интенсивности + дистанция <3 метров, так что тут все ок. Естественно + фильтры на камеры для отсечения видимого. Это тоже в изобилии.
$195.00 за "Surveyor SRV1 Blackfin Camera" это не так страшно. Конечно минус что их только из за моря.
У CMUCAM 352x288. По идее того вполне должно хватить при том, что у wii около 100x80 а точности они достигают из-за вычисления центра облака пикселей. Я подобное пробовал. Действительно работает очень здорово.
Последний раз редактировалось Севостьянов Петр 26 янв 2010, 17:55, всего редактировалось 1 раз.
>>это что же получается, с вебкой 640*480*30 fps по точности можно горы свернуть? если бы не её гадкая оптика, бессовестное MJPEG сжатие и задержка до 5 кадров )))
По поводу Blackfin, в общем зависит от алгоритма. Если 500МГц Blackfin BF537 сумеет обработать это облако пикселей за требуемое время, будет хорошо. Мое IMHO: не сумеет. С Blackfin камеры можно взять: 160x120=60fps 320x240=15fps 640x480=7.5fps То есть реально вы возьмете только на 160x120. При этом оптика у blackfin так себе, я настроил на метр, в принципе видно. Смотрите, в шкафу стоит новый робот, он светится в ИК диапазоне (шарп 10-80 см). Но Blackfin его не видит. Зато видит вебкамера с ноутбука. IMHO, ловить ИК-светодиод будет необычно трудной задачей.
По поводу того что Blackfin не видит ик есть 2 версии 1 - действительно стоит фильтр отрезающий ик. 2 - матрица не чувствительна к ик (но я сомневаюсь) у первой версии есть 2 варианта по поводу расположения фильтра 1 - приклеен к объективу (тогда он просто снимается) 2 - приклеен к матрице (встречал такое у одной вебкамеры от микрософт. попытка снять фильтр увенчалась расколом матрицы). Если есть Blackfin по рукой не могли бы вы заглянуть под объектив.
пробег по пикселям. __если пиксель больше порога ____если есть "зарегистрированная" маркер поблизости (на расстоянии менее предположительного радиуса маркера(светодиода)) ____(тут пробег по маркерам (их от 0 до 4 будет обычно)). ______да - добавляем пиксель к маркеру (с учетом веса) ________marker[k].x += x*W (где W - это вес т.е. превышение яркости пикселя над порогом) ________marker[k].y += y*W ________marker[k].W += W ______нет - создаем новый маркер.
3 вариант: ИК фильтр в дешовых объективчиках в виде напыления на линзе легко можно определить даже по фотографии если объектив отливает красноватым или желтоватым цветом.
красивая по цветам картинка с блэкфин чётко говорит о хорошем фильтре.
AndreiSk по поводу алгоритма с "облаками" как считаете потянет на 50 fps? (алгоритм выше) Какие для сравнения алгоритмы по сложности у вас работали на каких скоростях. например просто поиск максимума по кадру 160х120 сколько дает на вскидку?
<<<<С Blackfin камеры можно взять: 160x120=60fps>>>> т.е. он 1/60 сек читает данные с видеоматрицы? или матрица "готовит" эти данные столько? как построен процесс работы с кадром? ___как я понимаю в контролере крутится бесконечный цикл с проверкой переменной выхода. ___в цикле вызывается функция копирования данных из камеры в паять(или обращение напрямую к памяти камеры) __так ли это? расскажите пожалуйста о процессе работы контролера в Blackfin.
Самое важное забыл спросить! С какой скоростью может Blackfin общаться с компьютером по com-порту в процессе работы? (не станет ли это узким местом)
успевает протолкнуть wii, успеет и Blackfin. очень упрощенно скорость передачи можно посчитать как , где - количество посылок в секунду, - количество байт в посылке. или по-другому: , где - кол-во кадров в секунду, - количество байт на кадр - кол-во бод в секунду, стандартные значения - 9600 или 115200