LabVIEWForum.de
USB Kamera im MAX - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: USB Kamera im MAX (/Thread-USB-Kamera-im-MAX)



USB Kamera im MAX - gottfried - 22.03.2014 18:06

Hallo,

ich habe da ein grundsätzliches Wissensdefizit:

* die GiGe-Kameras haben ihre Parameterbeschreibung in der Kamere im XML

* wie ist das mit den USB Kameras.

Ich habe zB.: eine Tucsen 3.1MPx Farbkamera, da erkennt der MAX nur einen Bruchteil der Funktionen die die Kamera mit dem mitgelieferten Tool kann. z.B. kann ich nicht die Belichtungszeit in Max verstellen etc.

Meine Frage:

* wie ist das nun eigentlich? Link auf eine gescheite Seite ist auch willkommen.

* habe ich eine Chance das Ding in LV zu betreiben?

* Muss der Hersteller mir etwas (was?) zur Verfügung stellen?

Danke

Gottfried


RE: USB Kamera im MAX - rolfk - 23.03.2014 21:02

(22.03.2014 18:06 )gottfried schrieb:  Hallo,

ich habe da ein grundsätzliches Wissensdefizit:

* die GiGe-Kameras haben ihre Parameterbeschreibung in der Kamere im XML

* wie ist das mit den USB Kameras.

Ich habe zB.: eine Tucsen 3.1MPx Farbkamera, da erkennt der MAX nur einen Bruchteil der Funktionen die die Kamera mit dem mitgelieferten Tool kann. z.B. kann ich nicht die Belichtungszeit in Max verstellen etc.

Meine Frage:

* wie ist das nun eigentlich? Link auf eine gescheite Seite ist auch willkommen.

* habe ich eine Chance das Ding in LV zu betreiben?

* Muss der Hersteller mir etwas (was?) zur Verfügung stellen?

USB Cameras werden in NI-IMAQ über DirectShow integriert. Das ist ein MS Interface das auf COM basiert (der Technologie auf der auch ActiveX basiert) aber ist eben nicht gleich an ActiveX. Das DirectShow Interface kennt nur ganz wenige Attribute die von Microsoft standard vorgesehen sind. Jeder Hersteller ist frei um dazu eigene Custom Interfaces hinzuzufügen um mehr Parameter zu kontrollieren aber NI-IMAQ kann natürlich nicht alle 2 Millionen Custom Interfaces von Logitech, Trust und anderen noname Chinesen und Taiwanesen unterstützen. Das heisst NI-IMAQ beschränkt sich auf das was Microsoft als Standard definiert hat. Daran wird sich auch nicht mehr verändern den DirectShow is von Microsoft schon lange als Legacy-Technologie abgeschrieben, aber neuere Interfaces gibts auch nicht.

Das ist nicht nur vernünftig sondern auch verständlich, den USB Cameras sind eh keine professionelen Cameras.


RE: USB Kamera im MAX - gottfried - 25.03.2014 11:41

Hier ein interessanter Beitrag
http://forums.ni.com/t5/Machine-Vision/Access-USB-camera-properties/m-p/2470580

Gottfried


RE: USB Kamera im MAX - rolfk - 26.03.2014 13:25

(25.03.2014 11:41 )gottfried schrieb:  Hier ein interessanter Beitrag
http://forums.ni.com/t5/Machine-Vision/Access-USB-camera-properties/m-p/2470580

Gottfried

Interessanter Beitrag. Muss sich aber noch zeigen ob sich dieser USB3 Standard wirklich durchsetzt. Ohne eine Instanz ausserhalb der Camerahersteller, wie Microsoft sie darstellt, ist die Chance eher klein, dass sich die massgebenden Hersteller auf einen Standard einigen können der mit allen Cameras austauschbar funktioniert.

Denn USB3 ist ja nur die Basistechnologie. Wie die darauf basierenden Datenprotokolle effektiv implementiert werden ist immer noch zu einem grossen Teil Sache der verschiedenen Entwickler und ich sehe Sony, Basler und wie sie alle heissen nicht so rasch um einen Tisch sitzen um wirklich firmenübregreifende Standards zu vereinbaren. Natürlich gibts Absichtserklärungen wie schon seit jeher aber schlussendlich macht jeder doch sein eigenes Süppchen, da dem einen die Gewürze des anderen nicht passen. Big Grin

Das Problem mit einem Microsoft initierten Standard ist andererseits immer wieder, dass er den grössten gemeinsamen Teiler aller massgebenden Hersteller standardisiert, was wie man in DirectShow sehen kann nicht viel weiter geht als einen Bilderstrom vom Apparat in den Computer zu übertragen.

Zu Deiner ursprünglichen Frage ob der Hersteller Dir etwas spezielles geben muss, die ich leider vergessen habe zu beantworden: Ja, wenn Du an die erweiterten Properties rankommen musst! Das kann eine DLL, ActiveX, oder .Net Komponente sein die das Programmierinterface zur Verfügung stellt das auch von den Herstellertools benützt wird. Bei noname Cameras ist aber die Aussicht auf auch nur eine Dokumentation dieser Schnittstelle erbärmlich klein. Bei mehr professionellen Herstellern ist es durchaus möglich, aber USB Cameras sind bis jetzt eher im nicht professionellen Bereich zu finden.
PointGrey scheint aber da eine der Ausnahmen zu sein!


RE: USB Kamera im MAX - gottfried - 27.03.2014 09:16

Danke - das hilft mir weiter!

Gottfried


RE: USB Kamera im MAX - b.p - 27.03.2014 11:04

Wenn ein Standard, dann wirds bei USB3 wohl GenICam.

Das erinnert mich - ich hatte dasselbe Problem mit so ner billigen vr-magic-Kamera, die war aber noch USB2, was mMn ne völlig andere Geschichte ist. Musste dann beim Starten des Programms jedes Mal die Parameter via DLL schicken, dann die Session killen, und dann ganz normal ne IMAQ Session starten. Ahrg1


RE: USB Kamera im MAX - rolfk - 29.03.2014 11:02

(27.03.2014 11:04 )b.p schrieb:  Wenn ein Standard, dann wirds bei USB3 wohl GenICam.

Das erinnert mich - ich hatte dasselbe Problem mit so ner billigen vr-magic-Kamera, die war aber noch USB2, was mMn ne völlig andere Geschichte ist. Musste dann beim Starten des Programms jedes Mal die Parameter via DLL schicken, dann die Session killen, und dann ganz normal ne IMAQ Session starten. Ahrg1

Nun USB2 war nicht unbedingt so viel anders. Ausser dass das USB Consortium am Anfang viel zu viele andere Dinge am Kopf hatte um sich auch um mehr als die Basisdefinition einer StreamImage Class zu kümmern. Als Sie dann endlich dazu kamen um das richtig anzugreifen hatten Logitec, Trust und Co schon lange ihre eigene Suppe gekocht und dann will man natürlich nicht mehr den Standard des anderen implementieren müssen, auch wenn man die eigenen Cameratreiber doch wieder mit jeder neuen Camerageneration komplet anders macht. Den Voraussicht beim Entwickeln der ersten Treiber ist kostbar und Time to Market ist das höchste Gut, was die Marketingleute den Entwicklern täglich in den Nacken husten.

GenICam ist ein möpglicher Standard. Ob er sich durchsetzt wird davon abhängen wie restriktiv das Konsortium die Spezifikation handhabt, ob man dazu eine teure Mitgliedschaft haben muss um den Standard implementieren oder auch nur lesen zu können, ob sie eine vernünftiges SDK auf die Beine bringen können statt nur 22000 Seiten Spezifikationen die niemand lesen kann, und ob die unterstützenden Firmen bereit sind ihre protektionistischen Bestrebungen beiseite zu legen und ihre proprietären Intefaces als Alteisen abzudanken.