LabVIEWForum.de - Deaktivieren der Kameraanpassung in LabVIEW

LabVIEWForum.de

Normale Version: Deaktivieren der Kameraanpassung in LabVIEW
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich nutze bei meinem Bildverarbeitungsprojekt in der aktuellen Entwicklungsstufe noch eine handelsüblich USB-WebCam bzw. die integrierte WebCam im Notebook. Dabei ist mir aufgefallen, dass sich das erste Bild, welches im laufenden Programm aufgenommen wird (via IMAQdx Snap), in Sachen Helligkeit etc. sich von den direkt drauf folgenden Bildern relativ stark unterscheidet, obwohl die äußeren Bedingungen nahezu konstant sind. Es wirkt, als wird irgendetwas nach dem ersten Bild in den Einstellungen verändert bzw. angepasst.

Ich möchte aber, dass alle Bilder mit den gleichen internen Bedingungen aufgenommen werden. Es soll also softwaretechnisch nicht aufgehellt oder so werden. Lässt sich diese beschriebene Anpassung irgendwie vermeiden bzw. die Aufnahmeeinstellung fixieren?

Grüße,

ostone.
Hallo,

hast du schon probiert, im Measurement & Automation Explorer auf die Kamera zuzugreifen?
Da kannst du relativ einfach alles anpassen, wenn deine Kamera es zulässt.

Ich habe mit einer Webcam noch nicht gearbeitet, aber bei meiner Kamera kann ich dort den "AutoGain" (Autohelligkeit anpassen) ausschalten und manuell regeln.
Und noch vieles mehr.

Wenn du es richtig im Programm verankern möchtest, müsstest du mit Property Nodes arbeiten.
Vielleicht hilft dir dabei der Artikel:
http://digital.ni.com/public.nsf/allkb/E...0100535E88

Lg
Hallo und vielen Dank für die Antwort.

Als ich gestern so auf meiner alltäglichen Laufrunde war, kam mir auch die Idee mit dem NI MAX.

Wenn ich allerdings das Programm in einem Projekt einbette und später als *.exe auf diversen Rechnern ohne die LabVIEW IDE laufen lassen möchte, benötige ich die Einstellungen fest im Projekt...

Der verlinkte Artikel klingt gut. Werde ihn mir mal genauer ansehen und Erfahrungen sammeln. Bisher habe ich nämlich noch nicht mit Eigenschaftsknoten gearbeitet...

Grüße,

oli.
Hallo,

ich habe leider immer noch Probleme beim Setzen der Kamera Attribute. Ich habe nun bereits über Eigenschaftsknoten versucht, etwas speziell an der automatischen Helligkeitsanpassung zu ändern. Leider ohne Erfolg.

Momentan versuche ich mittels IMAQdx Read Attributes die Einstellungen zu setzen. Lese ich allerdings gleich darauf die Einstellungen wieder aus, bleibt alles unverändert.

Hier mal die config.txt der Kamera:

[NIIMAQ_HEADER]
Type = 2
Version = 8

[CAMERA_DATA]
AcquisitionAttributes::Bayer::Algorithm = "Bilinear"
AcquisitionAttributes::Bayer::GainB = "1"
AcquisitionAttributes::Bayer::GainG = "1"
AcquisitionAttributes::Bayer::GainR = "1"
AcquisitionAttributes::Bayer::Pattern = "Use hardware value"
AcquisitionAttributes::BitsPerPixel = "Use hardware value"
AcquisitionAttributes::IgnoreFirstFrame = "false"
AcquisitionAttributes::ImageDecoderCopyMode = "Auto"
AcquisitionAttributes::OutputImageType = "Auto"
AcquisitionAttributes::OverwriteMode = "Get Newest"
AcquisitionAttributes::PixelSignedness = "Use hardware value"
AcquisitionAttributes::ReceiveTimestampMode = "None"
AcquisitionAttributes::ShiftPixelBits = "false"
AcquisitionAttributes::SwapPixelBytes = "false"
AcquisitionAttributes::Timeout = "5000"
AcquisitionAttributes::VerticalMirror = "false"
AcquisitionAttributes::VideoMode = "1280x720 YUY2 10,00fps"

Ich finde hier keine Attribute, die direkt auf die Helligkeitsanpassung Auswirkungen haben könnten. Daher habe ich versucht die beiden Attribute mit "Auto" in "Manual" zu ändern. Beim darauffolgenden Auslesen der Attribute bleibt allerdings "Auto" bestehen.

Das VI sieht entsprechend der unteren Abbildung aus. Habe ich da etwas falsch verdrahtet?

Bitte um Hinweise.

Grüße.
Hallo,
die Antwort kommt etwas spät, hilft vielleicht trotzdem:

Du sagst:
"Momentan versuche ich mittels IMAQdx Read Attributes die Einstellungen zu setzen. Lese ich allerdings gleich darauf die Einstellungen wieder aus, bleibt alles unverändert."
Das vi sollte auch nichts setzen, sondern nur lesen.
Probier mal dir über Enumerate Atrributes.vi alle Attribute anzeigen zu lassen und auch, ob sie nur lesbar sind oder auch veränderbar.
Beispiel habe ich angehangen.

Manchmal funktioniert es auch, wenn man einfach nur "Gain" als Attribut im String einträgt, ohne das ganze vor dem Doppelpunkt. ("::")
Bei mir im Programm lese ich erst aus, welche Gainwerte möglich sind, und setze sie im nächsten Schritt.

Vielleicht hilft es ja weiter.
Lg
Referenz-URLs