Доброго времени суток.
Возникла необходимость создания устройства, декодирующего QR-код, желательно на ПЛИС.
Гугление результатов не дало. Буду благодарен за любую помощь
_______________
UPD
поскольку реализовать распознавание изображения микроконтроллером довольно сложно (а использование ПЛИС, видимо, только усложнит положение), было принято решение несколько изменить схему действий:
- проводится захват изображения с камеры
- изображение отправляется на компьютер
- на компьютере при помощи сторонней библиотеки проводится распознавание и декодирование
- PROFIT!
Последний раз редактировалось FreeFox Пт фев 24, 2012 01:35:08, всего редактировалось 1 раз.
Для ПЛИС задача эта непосильная, тут обязательно нужен микроконтроллер способный достаточно быстро считать данные с камеры, отмасштабировать, повернуть на нужный угол и исправить параллелограмм... только после этого можно получить данные в цифровом виде и направить на декодирование с которым уже может справится ПЛИС, но собственно если задача и так выполнена на 50% то почему бы её не доделать на том же контроллере?
Боюсь предположить, но, сдается, диплом.
А почему бы и не ПЛИС? Протягиваем подобно перфокарте/ленте и вперед. Полученную последовательность 0 и 1 рихтуем. Мама дорогая....
Там непростая перфокарта... и размеры QR-кода могут быть произвольными... режимов кодирования для QR-кода довольно много, для каждого из них надо свою ПЛИС разрабатывать. Пожалуй, ПЛИС - мало подходит для сложного анализа данных, её удел - быстрая обработка простейших операций над данными.
Оно все понятно, непростота, кодировка и т.п. Я про друное. Имеем картинку, она определенным образом сфрпмирована. Ее однозначно можно перевести. Дешифратор своего рода. Подобно тому, как набор латиницы(текст на английском языке) однозначно может быть переведен на набор кириллицы(русский язык). Стоп-стоп-стоп! Давайте без этих "Да вы знаете сколько там наречий и т.д." Знаем. Мы говорим о смысле, о содержании. Я не говорю о том, что сделаю такую штуку. Просто суть выясняю.
Не в том дело. Просто там могут содержаться только цифры, цифры+набор латинских символов, произвольные данные в 8 битной кодировке, и еще 16-битная японская какая-то кодировка. Они имеют разное количество бит, в ПЛИС засунуть распознавание этих форматов просто нереально. в ПЛИС если и засунуть распознавание то только одно из них, в результате чего получится распознаватель который хавает только определенный тип QR-кода. Как-то не очень удачно получится.
ну дык... для ПЛИС имеются готовые прошивки под многие ядра микроконтроллеров прошивается такое ядро, а потом уже пишется простая программка декодирования чего угодно и волки целы, и пастухи сыты...
битва с дураками проиграна, победители торжествуют. слава победителям!
pyzhman писал(а):Боюсь предположить, но, сдается, диплом.
Да, вы правы
Думаю, многие слышали о формате vCard. Нынче модно на визитки лепить QR-код с закодированными данными. Продвинутые смартфоны меньше чем за секунду считывают данные с такой визитки и создают контакт в телефонной книге. Удобно, практично, красота да и только.
Ну так вот... Результатом моего диплома получается некая программная система для организации работы с клиентами. И один из способов добавления клиентов - считывание данных с визитной карточки.
Сперва ухватился за ПЛИС, так как при обсуждении с руководителем диплома фигурировала именно ПЛИС. Но это не существенно, можно использовать и микроконтроллер (для меня так даже лучше, с ними имею некоторый опыт работы).
Что именно должна делать ПЛИС? Точнее, какую ее часть?
В идеале - прочитать изображение с камеры, распознать QR-код и извлечь закодированные данные. Слишком жирно, не правда ли?
Поэтому, вся задача сводится к получению изображения с камеры и передаче его на ПК. В распознавании и декодировании особых проблем быть не должно - на стороне сервера задействую библиотеку ZXing, много хороших отзывов о ней.
Ну для таких вещей без процессорного ядра не обойтись. Там же надо и считать данные с камеры, и обработать изображение, найти углы и четырехугольники по бокам, по ним наложить сетку, по сетке считать битовую матрицу, а потом и ее еще декодировать и уже потом передать результат. В принципе, есть ПЛИС со встроенным ядром, и даже не одним, может их взять за основу?
IfoR писал(а):Так я не понял, требуется распознать код посредством ПЛИС или нужно сфоткать код и передать снимок на комп? Во-втором случае не понимаю смысла темы.
переименовал тему и внес необходимые объяснения в первое сообщение.
Пока что изучаю доступные матрицы и микроконтроллеры.