Webcam Library для LabVIEW

Делись идеей, получай поддержку и критику!

Re: Webcam Library для LabVIEW

Postby griffinru on 26 Mar 2013, 22:47

Sergey Ivanov wrote:Хотел отключить запись видео (оставить только отображение), но не разобраться как это сделать. Подскажите, пожалуйста.

Следует удалить:
-CaptureGraphBuilder и все что относится к его конфигурации вплоть до IMediaControl

В будущем, если манипуляция с bitmap ни требуется, и судя по индикаторам наблюдается отстование программы от камеры (frames drops...), было бы эффективнее использовать Marshal -> AllocHGlobal для считывания кадров. Прикрепленный скриншат демострирует как такой метод воплотить, пример показан для IMAQ image но его легко адаптировать под картинку. Позже прикреплю полноценный vi...
Marshal Copy.png
Marshal Copy


-Artur

P.S. Кстати IMAQ Image ни поддерживает 24-битный формат, поэтому требуется кое-какая манипуляция с байтами для преобразования 24- бит в 32...
Last edited by griffinru on 28 Mar 2013, 02:30, edited 1 time in total.
User avatar
griffinru
beginner
beginner
 
Posts: 14
Joined: 15 Nov 2012, 03:03
Location: MD, USA
LabVIEW Version: 11
Karma: 20

Re: Webcam Library для LabVIEW

Postby Sergey Ivanov on 27 Mar 2013, 13:51

Попробую.
Ещё вопросец такой. Если веб камера будет не 640*480, а 1280*760, то программа будет работать ?
что если к компьютеру подключены 2 веб камеры ?
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1193
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Webcam Library для LabVIEW

Postby griffinru on 27 Mar 2013, 16:59

Sergey Ivanov wrote:Попробую.
Ещё вопросец такой. Если веб камера будет не 640*480, а 1280*760, то программа будет работать ?
что если к компьютеру подключены 2 веб камеры ?


Мои примеры сделаны на поддержку расширения установленного по умолчанию и если у вас камера имеет 640*480 или 1280*720 все параметры считывания кадров установятся корректно. DirectShow не имеет лимита на количество камер, если ресурсов компьютера хватает (память, процессор, накопители), то при параллельном строительстве фильтров все должно работать. У меня есть рабочие программы, который позволяли одновременно работать в HD (1920*1080at30fps) без проблем. правда я делал одиночный .exe и клонировал его по необходимости. Вложить это в единый VI вполне реально, круто будет подцепить все на один фильтр для синхронизации, но это более серьёзно и скорее не нужно...

Ниже выложил пример как раз под ваши требования, без записи, без видео рэндэра, только считывание кадров с переодичностью установленной таймаутом:
DirectShow Frame Grabber.png
Optimized version

DirectShow - Example - Frame Grabber.vi
Frame Grabber.vi
(83.61 KiB) Downloaded 228 times

DirectShow SDK v.2.0.llb
DirectShow SDK v.2.0
(472.8 KiB) Downloaded 196 times
ни полная библиотека, но с необходимыми subVI для вышеуказанного примера, полная версия пока ни готова.
Last edited by griffinru on 28 Mar 2013, 02:44, edited 2 times in total.
User avatar
griffinru
beginner
beginner
 
Posts: 14
Joined: 15 Nov 2012, 03:03
Location: MD, USA
LabVIEW Version: 11
Karma: 20

Re: Webcam Library для LabVIEW

Postby Sergey Ivanov on 27 Mar 2013, 21:20

griffinru wrote:Delete:
-CaptureGraphBuilder and everything behind it up to IMediaControl


Я удилил указанные :vi:
Снимок.JPG


Но теперь не отображает ничего:
Снимок2.JPG
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1193
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Webcam Library для LabVIEW

Postby griffinru on 27 Mar 2013, 21:45

Sergey Ivanov wrote:
griffinru wrote:Delete:
-CaptureGraphBuilder and everything behind it up to IMediaControl


Я удилил указанные :vi:
The attachment Снимок.JPG is no longer available


Но теперь не отображает ничего:
The attachment Снимок.JPG is no longer available


Да, с русской клавой иногда напряги, писать латиницей ещё более ни понятно чем на корявом английском...
Надеюсь с русскими по-правками и прикрепленными примерами все заработает.
Correct.png
Don't delete IMediaControl...

-Артур
User avatar
griffinru
beginner
beginner
 
Posts: 14
Joined: 15 Nov 2012, 03:03
Location: MD, USA
LabVIEW Version: 11
Karma: 20

Re: Webcam Library для LabVIEW

Postby Sergey Ivanov on 28 Mar 2013, 07:16

хм, так тоже пробовал. вечерком ещё раз попрорбую. спасибо
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1193
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Webcam Library для LabVIEW

Postby griffinru on 28 Mar 2013, 13:34

Sergey Ivanov wrote:хм, так тоже пробовал. вечерком ещё раз попрорбую. спасибо

Сергей подцепи свой VI для проверки или посмотри как твой фильтр выглядит в GraphEdit.
Для этого вмонтируй указанный ниже VI, с флажком TRUE сразу после IMediaControl.
DirectShow - Add_Remove DSROTEntry.vi
GraphEdit Entry
(19.98 KiB) Downloaded 144 times

Надеюсь GraphEdit есть и proppade.dll с evrprop.dll зарегистрированы корректно (последнее должно быть сделано вручную через regsvr32...)

После нажатия кнопки RUN следует запустить GraphEdit и Connect Remote Filter далее можно проверить что и как вы построили в LabVIEW. По завершению стоит закрыть DSROTEntry - с флажком FALSE и disconnect в GraphEdit.
Выглядеть должно примерно вот так:
frame grabber.png
GraphEdit ScreenShot
frame grabber.png (9.75 KiB) Viewed 7276 times

-Артур
User avatar
griffinru
beginner
beginner
 
Posts: 14
Joined: 15 Nov 2012, 03:03
Location: MD, USA
LabVIEW Version: 11
Karma: 20

Re: Webcam Library для LabVIEW

Postby Sergey Ivanov on 28 Mar 2013, 21:33

Удалил что вы показали на скриншоте, не работает.

GraphEdit - это что такое ? библиотек proppade.dll с evrprop.dll вообще не нашёл :dntknw:
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1193
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Webcam Library для LabVIEW

Postby griffinru on 29 Mar 2013, 13:40

Sergey Ivanov wrote:Удалил что вы показали на скриншоте, не работает.

GraphEdit - это что такое ? библиотек proppade.dll с evrprop.dll вообще не нашёл :dntknw:


Сергей GraphEdit и вышеуказанные DLL инсталлируются Windows SDK 7.1

GraphEdit - link -> http://msdn.microsoft.com/en-us/library ... 74(v=vs.85).aspx
Windows SDK 7.1 link -> http://www.microsoft.com/en-us/download ... 9#overview
Моя страничка на NI.com -> https://decibel.ni.com/content/docs/DOC-26402

Сергей, мой пример работает?

-Артур
User avatar
griffinru
beginner
beginner
 
Posts: 14
Joined: 15 Nov 2012, 03:03
Location: MD, USA
LabVIEW Version: 11
Karma: 20

Re: Webcam Library для LabVIEW

Postby Sergey Ivanov on 29 Mar 2013, 16:56

griffinru wrote:
Sergey Ivanov wrote:Удалил что вы показали на скриншоте, не работает.

GraphEdit - это что такое ? библиотек proppade.dll с evrprop.dll вообще не нашёл :dntknw:


Сергей GraphEdit и вышеуказанные DLL инсталлируются Windows SDK 7.1

GraphEdit - link -> http://msdn.microsoft.com/en-us/library ... 74(v=vs.85).aspx
Windows SDK 7.1 link -> http://www.microsoft.com/en-us/download ... 9#overview
Моя страничка на NI.com -> https://decibel.ni.com/content/docs/DOC-26402

Сергей, мой пример работает?

-Артур

Артур, у меня не был установлен Windows SDK 7.1.

Пример не удалось вмонтировать. Не дал проводник соединить.
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1193
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Webcam Library для LabVIEW

Postby Sergey Ivanov on 31 Mar 2013, 10:09

Сделал что хотел !
Скачал новую версию . В примерах взял пример "DirectShow - Example - Acquire Video plus Sample Grabber.vi"
И добавил туда вот что:
Безымянный.png


Артур, спасибо большое ! :thank:
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1193
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Webcam Library для LabVIEW

Postby bee on 21 Jan 2014, 09:55

Добрый день. Немного переделал прогу Sergey Ivanov с использованием библиотек Артура.
Отображение видео с камеры и сохранение снимка по нажатию кнопки. Может кому пригодится.
Attachments
DirectShow - Snap_Save.vi
(54.29 KiB) Downloaded 178 times
bee
junior
junior
 
Posts: 51
Joined: 12 Jun 2013, 09:04
LabVIEW Version: 2014
Karma: 0

Previous

Return to Проекты

Who is online

Users browsing this forum: No registered users and 2 guests

cron