Mit der Lookup Table (LUT) können Pixelwerte eines Bildes direkt in der Kamera transformiert werden. Anstatt eine fest definierte mathematische Funktion anzuwenden, verwendet die Kamera eine vom Anwender definierte Tabelle, um Eingangs-Pixelwerte in Ausgangswerte umzuwandeln.

Eine LUT kann beispielsweise für Kontrastverbesserung, individuelle Helligkeitswertzuordnungen oder Histogramm-Equalisierung verwendet werden.

Wie funktioniert die LUT?

Die Lookup Table der Kamera enthält 257 Einträge, wobei jeder Eintrag durch einen 16-Bit-Wert repräsentiert wird.

Für jedes Pixel werden die oberen 8 Bit der Bilddaten verwendet, um den entsprechenden LUT-Eintrag auszuwählen. Die verbleibenden Bits werden verwendet, um zwischen dem ausgewählten Eintrag und einem seiner benachbarten Einträge zu interpolieren. Dadurch wird eine gleichmäßige Abbildung des gesamten Eingangsbereichs ermöglicht.

Die LUT belegt 1028 Byte Speicher. Jeder 16-Bit-LUT-Eintrag ist dabei an einer 32-Bit-Grenze ausgerichtet.

Wie kann ich die LUT konfigurieren?

Die LUT wird über die folgenden Kamera-Features gesteuert:

  • LUT Enable - Aktiviert oder deaktiviert die Lookup Table.

  • LUT Index - Wählt den zu konfigurierenden LUT-Eintrag aus. Der Wertebereich reicht von 0 bis 256.

  • LUT Value - Definiert den 16-Bit-Ausgabewert für den ausgewählten LUT-Eintrag. Der Wertebereich reicht von 0 bis 65535.

  • LUT Value All - Ermöglicht die schnelle Neuprogrammierung der gesamten Lookup Table.

Damit können entweder einzelne LUT-Einträge angepasst oder die komplette LUT effizient neu programmiert werden.

Wie wird die LUT auf Farbbilder angewendet?

Die Anwendung der LUT hängt vom gewählten Pixelformat ab:

  • YUV-Pixelformate: Die LUT wird ausschließlich auf den Y-Kanal angewendet. Die Chrominanzkanäle werden nicht verändert.

  • Bayer-Raw- und RGB24-Pixelformate: Die gleiche LUT-Operation wird auf alle Farbkanäle angewendet.

Bei einem YUV-Pixelformat kann die LUT somit verwendet werden, um die Helligkeitsinformation des Bildes zu verändern, ohne die Farbinformation direkt zu beeinflussen.

Kann die LUT für eine Histogramm-Equalisierung verwendet werden?

Ja. Mit einer LUT können Bildverarbeitungsfunktionen wie beispielsweise eine Histogramm-Equalisierung direkt in der Kamera umgesetzt werden.

Die erforderliche Abbildung der Eingangs- auf die Ausgangswerte wird von der Anwendung berechnet und anschließend in die LUT der Kamera geschrieben. Die Kamera wendet diese Abbildung dann auf die eingehenden Pixelwerte an.

Hat die LUT Einfluss auf die Gamma-Korrektur?

Ja. Gamma-Korrektur und LUT verwenden dieselbe Hardware in der Kamera.

Daher wird die Gamma-Korrektur automatisch deaktiviert, sobald die LUT aktiviert wird. Beide Funktionen können nicht gleichzeitig verwendet werden.

Wenn eine Gamma-Korrektur benötigt wird, muss die LUT deaktiviert werden. Soll hingegen eine individuelle Transformation der Pixelwerte durchgeführt werden, kann die LUT aktiviert und die gewünschte Abbildung über die LUT-Werte definiert werden.

Gibt es Beispiele für die Verwendung der LUT mit dem IC4 SDK?

Ja. Das IC4 SDK enthält Beispiele, die zeigen, wie die Lookup Table (LUT) konfiguriert und verwendet wird.

Diese Beispiele bieten einen praktischen Einstieg für Anwendungen, die LUT-Werte programmieren oder individuelle Abbildungen von Pixelwerten mit IC4 implementieren möchten.