2012-04-02 4 views
0

Я заинтересован в создании проекта для любителей, где я занимаюсь обработкой изображений путем взаимодействия HW и SW. Я довольно новичок в этом. Я знаю, как выполнить базовую обработку изображений в Matlab, используя существующие команды обработки изображений.Обработка изображений на микроконтроллере

Мне лично нравится работать с HW и хотел бы использовать HW/SW для этого. Я читал статьи о людях, использующих FPGA и только основные FPGA/micro-контроллеры, чтобы это сделать.

Вот мой вопрос: может кто-то порекомендовать языки, которые я должен учитывать, что поможет мне с интерфейсом на ПК? I изображение, часть SW по существу будет графическим интерфейсом и является держателем места для всей обработки, которая выполняется на HW. Также в терминах выбора HW и реалистичного рассмотрения того, что я мог бы сделать на HW, могу ли я получить несколько рекомендаций по этому поводу?

Любые рекомендации будут оценены!

EDIT: Я прочитал несколько других сообщений, говорящих, что требования напрямую связаны с пониманием того, какая обработка изображений выполняется. Сначала я хочу сделать распознавание отпечатков пальцев. Таким образом, фильтрация и определение уникальных маркеров на изображении и т. Д.

+0

Каков примерный размер (в байтах) изображения, которое вы планируете обрабатывать? И есть ли у вас какие-либо требования относительно скорости? (в основном это связано с тем, как должен работать интерфейс) – sonicwave

+0

С точки зрения размера, я приближался к нему примерно в 100 килобайтах. Что касается скорости, я не слишком придирчив, так как это опыт обучения. Есть ли у вас какие-либо ссылки, которые я читал, рекомендую технические последствия/преимущества/недостатки выбора конкретного интерфейса? – c0d3rz

ответ

2

Все зависит от того, с чем вы знакомы, как вы планируете осуществлять интерфейс между ПЛИС и ПК и, как правило, масштаб того, что вы хотите сделать. Примеры могут быть:

  1. Быстрая система может, например, состоять из Xilinx SP605 board, используя интерфейс PCI Express для быстрого переноса изображения данных между ПК и FPGA. Для этого вам нужно будет написать драйвер устройства (в C) и приложение для пользовательского пространства (я сделал это в C++/Qt).

  2. система более реалистичное хобби может быть Xilinx SP601 board, используя Ethernet для передачи данных - вы бы тогда просто должны написать простой протокол (возможно, с использованием сокетов (не TCP/UDP), чтобы сделать сторону FPGA Ethernet проще), что можно сделать в основном на любом языке, предлагающем доступ к сети (есть ссылка Xilinx для SP605, демонстрирующая это).

  3. Самого простое и дешевое решение было бы доска FPGA с последовательного соединения - вы, вероятно, не будете в состоянии сделать любую «серьезной» обработки изображений с этим, но это должно быть достаточно для очень простого доказательства но все же меньшие устройства FPGA, используемые на этих платах, обычно не имеют большого количества встроенной памяти.

Но все зависит от того, что вы на самом деле хотите сделать.

+0

Спасибо за ответ sonicwave. Это было очень полезно. Есть ли у вас рекомендации по учебникам, которые объясняют обработку изображений на ПЛИС? – c0d3rz

+1

Не то, что я знаю, но я знаю пару парней, которые пару лет назад написали магистерскую диссертацию на поле.Тезисы доступны здесь: http://covil.sdu.dk/publications/AknLbwjMaster.pdf - он может дать вам отправную точку, даже если он использует пользовательские платы и прямой интерфейс FireWire для камеры. Если вы хотите использовать более продвинутый материал, всегда есть системный генератор Xilinx, который позволяет синтезировать алгоритмы Matlab на специальных средах DSP в некоторых FPGA, но я никогда не использовал его сам, поэтому я знаю, что он существует и не намного больше ... – sonicwave

+0

Спасибо, sonicwave. Возможно, я читаю ваш пост, но мне кажется, что вы не согласны с использованием такого интерфейса. Почему это? – c0d3rz

Смежные вопросы