Enumeration Properties mit IC 4

Aus The Imaging Source Wissensdatenbank
Zur Navigation springen Zur Suche springen

Enumeration Properties sind Properties, die einen String erwarten, zurückgeben und eine Liste von gültigen String zum Auswählen bereitstellen. Beispielsweise das Pixelformat einer Kamera kann “Mono8”,”Mono16”,”BayerRG8” usw enthalten. Um die Auswahlliste zu erhalten, wird die Funktion DevicePropertyMap.FindEnumeration() verwendet. Diese bekommt als Parameter den Namen des Properties, z.B.“PixelFormat“, „BalanceWhiteMode“ usw. Die Funktion gibt eine Enumeration zurück.

C#

var formats = grabber.DevicePropertyMap.FindEnumeration("PixelFormat");
foreach (var format in formats.Entries)
{
    Console.WriteLine($"{format.Name}");
}

Python:

formats = grabber.device_property_map.find_enumeration(ic4.PropId.PIXEL_FORMAT)
for i,format in enumerate(formats.entries):
        print(f"{i} : {format.name}")

Die Enumeration Properties werden mit der DevicePropertyMap.SetValue() funktion gesetzt: grabber.DevicePropertyMap.SetValue("BalanceWhiteMode", "WhiteBalanceMode_Temperature"); Oder, falls es eine Benutzerauswahl und einen gewählten Index gibt:

C#:

grabber.DevicePropertyMap.SetValue("BalanceWhiteMode", WhiteBalanceModes.Entries.ToArray()[1].Name);

Python:

grabber.device_property_map.set_value(ic4.PropId.PIXEL_FORMAT, formats.entries[selected_index].name )


Der C/C++ ist ähnlich.

Für Fragen können Sie uns direkt unter TIS Kontaktformular ansprechen