Как сделать захват с веб-камеры в Linux с помощью Mono? - PullRequest
4 голосов
/ 25 августа 2010

Как я могу захватить кадр с устройства video-4-linux (например, / dev / video0), используя Mono и C #?ОС Angstrom Linux , работающая на BeagleBoard .

Ответы [ 3 ]

5 голосов
/ 26 августа 2010

Я сделал захват v4l2 с использованием C. Это, пожалуй, единственный язык, на котором я бы хотел сделать это. Есть много низкоуровневых звонков, которые нужно сделать в драйвер. Вам необходимо отобразить память ядра в ваше приложение и скопировать буферы. Вы также должны установить тонну конфигурации для устройства. Если вам нужно, я бы подумал написать библиотеку C и использовать Platform Invoke. Другой альтернативой является написание двух программ и отправка данных в ваше приложение C # через своего рода IPC.

3 голосов
/ 06 ноября 2011

Для этого вы можете использовать Emgu CV, в частности, он сообщает, что его можно скомпилировать с помощью Mono.

Главный сайт: http://www.emgu.com/wiki/index.php/Main_Page
Компиляция в моно: http://www.emgu.com/wiki/index.php/Compiling_with_Monodevelop
Пример кода для захвата видео с веб-камеры: http://www.emgu.com/wiki/index.php/Camera_Capture_in_7_lines_of_code

0 голосов
/ 25 августа 2010

Я не знаком с Mono или C # в Linux, но вам, возможно, придется написать интерфейсный модуль, который предоставляет API-интерфейс дайвера или разумную абстракцию.Я думаю, что тогда вы сможете импортировать модуль в код C #.Похоже, что Mono поддерживает DLLImport.

(http://www.mono -project.com / Interop_with_Native_Libraries )

...