Встроенный захват изображения - нужна помощь для начала работы - PullRequest
1 голос
/ 29 января 2011

Я работаю над встроенной системой домашнего наблюдения.Я хочу подключить пару серийных камер захвата JPEG, возможно, пару датчиков двери и т. Д. Проблема в том, что я не могу понять, как подключить камеру к микроконтроллеру.Не работает, потоковое видео, это не имеет значения - я не могу найти какую-либо документацию с инструкциями по этому вопросу.

Я понимаю последовательную связь, и большая часть документации камеры, которую я там нашел, описывает протоколнеобходимо дать камере команду отправить поток данных в ЦС для захвата.То, что они не показывают, это то, что вы должны делать с данными после их получения.

Вот пример .

Они показывают отличное небольшое видеои таблица данных описывает, какие байты должны быть отправлены на камеру для получения изображения.Мне нужен пример или учебник, который объяснит, что делать с потоком байтов, составляющих само изображение.Как мне организовать эти байты в изображение и сохранить его в виде файла?

Я искал повсюду какое-то учебное пособие, но у меня ничего не вышло.Я пока не уверен, какой процессор я буду использовать для этого проекта, но этот вопрос не зависит от процессора.Все, что мне нужно, это алгоритм, может быть, заглянуть в библиотеку, если таковая существует.Я возьму этот процесс и адаптирую его к своему оборудованию, я просто не могу найти место для начала.

Кто-нибудь из вас делал это?

Ответы [ 2 ]

3 голосов
/ 30 января 2011

Я думаю, что детали довольно ясны на странице 10 внутри этого документа:

http://www.4dsystems.com.au/downloads/micro-CAM/Docs/uCAM-DS-rev4.pdf

Во-первых, один пакет занимает от 64 до 512 байт - гибко определяется программистом. Размер изображения - это само изображение JPEG ... ничего более или менее .... просто чистое изображение JPEG. Таким образом, уравнение для расчета количества пакетов на основе image_size / package_size приведено на странице 10.

Далее следует, что (package_size - 6) должен использоваться повсеместно, потому что 6 байтов используются для целей, не связанных с данными, поэтому (package_size - 6) будет только данными - но вам придется собирать его самостоятельно .

Чтобы собрать данные из пакета, вам нужно убрать 4-х байтовый заголовок + 2-х байтовый трейлер и последовательно объединить все эти данные из всего пакета.

Другие факты:

а. Команда «Установить размер пакета» должна быть отправлена ​​с хоста на CAM - перед командой «SNAPSHOT», которая записывает изображение с камеры в буфер памяти CAM.

б. Далее необходимо отправить команду «SNAPSHOT» для захвата изображения в буфер памяти.

с. Последнее - отправить команду «ПОЛУЧИТЬ ИЗОБРАЖЕНИЕ» (только один раз, но данные будут возвращаться несколько раз - см. Диаграмму на стр. 15), чтобы извлечь все изображения .... и она вернется в виде «пакета» как мы определили размер ранее в «установить размер пакета». Поскольку вы рассчитаете формулу, вы будете знать, когда прекратить запрашивать следующий пакет. И есть проверочный байт - вы должны использовать его, чтобы убедиться, что данные верны.

0 голосов
/ 31 января 2011

Я не использовал эту камеру, но, похоже, она работает точно так же, как и камера (C328), которую я использовал.Отправить разрешение изображения / команду цвета.Когда вы хотите получить изображение, отправьте команду захвата изображения.Камера отвечает, отправляя двоичный файл по последовательной связи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...