Nikolay N. 0 23 апреля, 2013 Опубликовано 23 апреля, 2013 · Жалоба Здравствуйте! Ищу специалиста, имеющего опыт программирования ARM-контроллеров, а именно STM32. Занялся разработкой модуля, но ни знаний ни опыта не достаточно чтобы продвигаться с хорошей скорость. У меня в распоряжении отладочная плата STM32-P103 c микроконтроллероом STM32f103rbt6. Сейчас стоит задача реализовать первый этап: 1. Захват видеосигнала (PAL/NTSC) при помощи встроенного АЦП. Сразу оговорюсь, что нужна будет статическая картинка (фотография), чтобы не слушать о ограниченных ресурсах микроконтроллера и предложения применить готовые декодеры (они увеличивают общую стоимость устройства). 2. Вычисление значения глубины пикселя. 3. Сохранение массива значений "кадра" (думаю достаточно будет 210х340) на SD карту. 4. Получение второго кадра с изменениями, с последующим сохранением его там же, на SD. 5. Сравнение двух кадров (алгоритм пока не известен, но пусть это будет определение объема изменений в % от исходного) 6. Отдельно рассматриваю варианты реализации алгоритмов распознавания изображений на этом контроллере и Теперь то, что должно было быть в начале. Задача заключается в следующем: Необходимо по запросу определять состояние наполненности некоторого (пока простой прямоугольный ящик) в относительных величинах от исходного "0" в диапазоне от 0% до 75%. Для реализации я выбрал видеокамеру установленную на одной из стенок и этот контроллер. Предположительно, на внутренние поверхности будут наноситься графические метки, по которым будет видно какие области закрыты помещаемыми предметами. Камеры может быть две - рассматриваю возможность реализации стереовидения. Необходимо будет написать код выполняющий вышеперечисленные действия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1113 5 23 апреля, 2013 Опубликовано 23 апреля, 2013 · Жалоба 1. Захват видеосигнала (PAL/NTSC) при помощи встроенного АЦП. ... 3. Сохранение массива значений "кадра" (думаю достаточно будет 210х340) на SD карту. ... Необходимо будет написать код выполняющий вышеперечисленные действия. по какой формуле вы вычисляли частоту сэмплирования видеосигнала? и какая она получилась? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 23 апреля, 2013 Опубликовано 23 апреля, 2013 · Жалоба по какой формуле вы вычисляли частоту сэмплирования видеосигнала? и какая она получилась? А что тут? Статический видеосигнал можно захватить самым дохлым контроллером + дохлый АЦП + S&H, просто сдвигая время захвата. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mgrigoryev 0 23 апреля, 2013 Опубликовано 23 апреля, 2013 · Жалоба Как можно связаться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ataradov 0 23 апреля, 2013 Опубликовано 23 апреля, 2013 (изменено) · Жалоба А что тут? Статический видеосигнал можно захватить самым дохлым контроллером + дохлый АЦП + S&H, просто сдвигая время захвата. Так в задаче сигнал не статический вроде, а нужно получить его снимок. Короче захват видео делать не нужно. Хотя если заполняется не быстро, то можно пробовать и время захвата двигать. Изменено 23 апреля, 2013 пользователем Taradov Alexander Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 23 апреля, 2013 Опубликовано 23 апреля, 2013 · Жалоба Так в задаче сигнал не статический вроде Не понял. Если не меняется, то статический. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ataradov 0 23 апреля, 2013 Опубликовано 23 апреля, 2013 · Жалоба Не понял. Если не меняется, то статический. По крайней мере я читаю "что нужна будет статическая картинка (фотография)" как "из видео [произвольного] нужно захватить один статический кадр". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 23 апреля, 2013 Опубликовано 23 апреля, 2013 · Жалоба По-моему то что сигнал не статический, это очевидно. Иное противоречит здравому смыслу. Зачем ставить видеокамеру там где не ездят машины, ни кто не ходит, деревья не качаются от ветра ? И если уж её там поставили, то какой смысл как-то обрабатывать сигнал, если он всё равно не меняется ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ataradov 0 23 апреля, 2013 Опубликовано 23 апреля, 2013 · Жалоба И если уж её там поставили, то какой смысл как-то обрабатывать сигнал, если он всё равно не меняется ? Камера смотрит в ящик, куда насыпается что-то. Единственная причина не статичности - это изменение уровня и, возможно, условий освещения. Похоже на крурсовую/диплом, так как задачу можно решить гораздо проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nikolay N. 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба Как можно связаться? e-mail: [email protected] skype: ahalay_nikolay tel.: 9031978030 По-моему то что сигнал не статический, это очевидно. Иное противоречит здравому смыслу. Зачем ставить видеокамеру там где не ездят машины, ни кто не ходит, деревья не качаются от ветра ? И если уж её там поставили, то какой смысл как-то обрабатывать сигнал, если он всё равно не меняется ? В момент захвата сигнал не изменяется, однако, получаемые изображения в разные моменты времени различны, вот их то и необходимо будет сравнивать. по какой формуле вы вычисляли частоту сэмплирования видеосигнала? и какая она получилась? Если учесть, что я хочу из полезного сигнала длительность 51,5 мкс (так вроде в стандарте говорится и осциллограф с этим согласен) получить 340 точек, значит , частота выборок должна быть (51,5*10^-6/340) примерно 1,51 ГГц, что для одного канала в с производительность в 1 МГц довольно тоскливо. Если считать, что в сигнале каждый кадровый сигнал идентичен, то пиксели, не пойманные в первом кадре, можно ловить в следующих, а с двумя АЦП по 16 каналов и навороченными таймерами, эта задача превращается в увлекательное собирание ТВ картинки. Понимаю, что аромат идиотизма ощутим в этой идее, но предложите другой, бюджетный вариант. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба частота выборок должна быть (51,5*10^-6/340) примерно 1,51 ГГц, что для одного канала в с производительность в 1 МГц довольно тоскливо. Это вы как насчитали? Полоса видеосигнала обычного, была всегда 6.5 мигагерц. Для одного канала в мегагерц это грубо говоря можно собрать всю картинку за 5...7 кадров. Я бы думал где ОЗУ брать для картинки. Потому как на один кадр надо почти пол мегабайта. А пол мегабайта статики, это дорого. Надо ставить динамику. А это значит что мегагерц 50 и выше. А раз мегагерц 50 и выше, то можно ставить ARM или там блекфин. А если уж ставить АРМ или блекфин, то взять его с DMA и не морочить себе голову. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
etoja 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба Для работы с последовательностями кадров размера 352Ч288(CIF) и 176Ч144(QCIF) существует алгоритм h.261. Почитайте. Там используется внутрикадровое и межкадровое сжатие. Этот алгоритм - основа большинства алгоритмов сжатия. Но для распознавания объектов он не годится, так как делит всё изображение на квадраты 8х8 с использованием дискретного косинусного преобразования(DCT) и на стыках квадратов при декодировании возникают искажения, делающие фотографию непригодной для идентификации отпечатков пальцев или астрономических измерений. В таких случаях вместо 8х8DCT применяют wawelet-преобразование ко всему кадру. Эти алгоритмы могут поместиться в память программ указанного фами процессора(128Кбайт), но размер кадра 210х340= 74000 байт превышает размер SRAM(20Кбайт) процессора. Ширина полосы чёрно-белого композитного сигнала составляет 6.5МГц, а в вашем процессоре АЦП цифрует со скоростью 1 миллион выборок в секунду, что недостаточно. Вы купили какую-то плату, не прикинув годится ли она для решения вашей задачи. Отсюда сомнения в вашей адекватности и платёжеспособности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nikolay N. 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба Это вы как насчитали? Полоса видеосигнала обычного, была всегда 6.5 мигагерц. Для одного канала в мегагерц это грубо говоря можно собрать всю картинку за 5...7 кадров. Я бы думал где ОЗУ брать для картинки. Потому как на один кадр надо почти пол мегабайта. А пол мегабайта статики, это дорого. Надо ставить динамику. А это значит что мегагерц 50 и выше. А раз мегагерц 50 и выше, то можно ставить ARM или там блекфин. А если уж ставить АРМ или блекфин, то взять его с DMA и не морочить себе голову. Подозревал я, что что-то не так считаю)) Собственно поэтому я тут с таким предложением. Просветите, как сделать это правильно. В общем такой логики придерживался. Если сточный сигнал (без синхроимпульса и гашения) длится 51,5 мкс, а мне из него надо 340 точек надергать значит надо сделать 340 выборок за 51,5 мкс, т.е. 6,6 МГц))))) И правда как это насчитал)))Не зря мне казалось, что что-то тут не так)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба Подозревал я, что что-то не так считаю)) Собственно поэтому я тут с таким предложением. Просветите, как сделать это правильно. В общем такой логики придерживался. Если сточный сигнал (без синхроимпульса и гашения) длится 51,5 мкс, а мне из него надо 340 точек надергать значит надо сделать 340 выборок за 51,5 мкс, т.е. 6,6 МГц))))) И правда как это насчитал)))Не зря мне казалось, что что-то тут не так)) 15625гц частота строчной разветки в СССР была. 340 выборок это 15625*340=5312500гц или 5.3 мегагерца. Понятно что там добавится обратный ход луча, но гигагерцами там и не пахнет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nikolay N. 0 24 апреля, 2013 Опубликовано 24 апреля, 2013 · Жалоба Для работы с последовательностями кадров размера 352Ч288(CIF) и 176Ч144(QCIF) существует алгоритм h.261. Почитайте. Там используется внутрикадровое и межкадровое сжатие. Этот алгоритм - основа большинства алгоритмов сжатия. Но для распознавания объектов он не годится, так как делит всё изображение на квадраты 8х8 с использованием дискретного косинусного преобразования(DCT) и на стыках квадратов при декодировании возникают искажения, делающие фотографию непригодной для идентификации отпечатков пальцев или астрономических измерений. В таких случаях вместо 8х8DCT применяют wawelet-преобразование ко всему кадру. Эти алгоритмы могут поместиться в память программ указанного фами процессора(128Кбайт), но размер кадра 210х340= 74000 байт превышает размер SRAM(20Кбайт) процессора. Ширина полосы чёрно-белого композитного сигнала составляет 6.5МГц, а в вашем процессоре АЦП цифрует со скоростью 1 миллион выборок в секунду, что недостаточно. Вы купили какую-то плату, не прикинув годится ли она для решения вашей задачи. Отсюда сомнения в вашей адекватности и платёжеспособности. Благодарю за оценку моих качеств. Давайте не будем строить теории о моей личности на догадке о том, как именно досталась мне эта плата. И я здесь не для того чтобы выяснять, кто тут лучший из мужчин. За конструктивную информацию об алгоритмах отдельное спасибо. Внешнюю память возможно использовать при применении вельвет-преобразования? Частоты АЦП и правда не достаточно, но в обозначенных условиях "грубо говоря можно собрать всю картинку за 5...7 кадров.", а при в режиме и того быстрее. 15625гц частота строчной разветки в СССР была. 340 выборок это 15625*340=5312500гц или 5.3 мегагерца. Понятно что там добавится обратный ход луча, но гигагерцами там и не пахнет. Я уже объяснился в просчете. С аналоговым видеосигналом не имел дела никогда, так что простите Вашего покорного.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться