Programmierbeispiele

Nachfolgend finden Sie Programmierbeispiele, um Ihnen die schnelle Integration der IDS Industriekameras zu erleichtern. Bitte beachten Sie, dass die Beispiele auf Englisch beschrieben sind.

Bitte beachten Sie, dass für den Download der Programmierbeispiele eine vorherige Registrierung bzw. Anmeldung erforderlich ist. Die Registrierung auf der IDS-Webseite ist kostenlos und ermöglicht Ihnen den Zugang zu weiteren nützlichen Funktionen und ausführlichen Detail-Informationen zu unseren Produkten.

Der Schutz Ihrer Privatsphäre bei der Speicherung und Verarbeitung Ihrer persönlichen Daten ist ein besonders wichtiges Anliegen für uns. Ihre für die Registrierung notwendigen Daten werden nicht an Dritte weitergegeben; Ihre Daten dienen lediglich unserer Information und der Optimierung unseres Angebots.

Bildaufnahme mit der uEye Warteschlangen-Funktion in C/C++

Bildaufnahme mit der uEye Warteschlangen-Funktion in C/C++

Dieses Beispiel zeigt das Grundkonzept, wie kontinuierlich Bilder ohne Bildverlust aufgenommen werden können. Es wird eine Ringspeichersequenz mit mindestens 3 Buffern verwendet. Diese Buffer werden in die Warteschlange gestellt. Bilder werden in das Buffersystem aufgenommen. Über die Warteschlange kann immer der älteste Buffer geholt werden. Der Bildspeicher wird automatisch gesperrt. Nach der erfolgreichen Verarbeitung der Bilddaten wird der Buffer entsperrt und zur Wiederverwendung in die Warteschlange gestellt.

Das Sammeln der Bildspeicher erfolgt in einem abgetrennten Thread. Dieser Thread ist unabhängig von der GUI-Interaktion und erlaubt es, Bilder zu sammeln, ohne unterbrochen zu werden.

Bildaufnahme mit der uEye Warteschlangen-Funktion in .NET C#

Bildaufnahme mit der uEye Warteschlangen-Funktion in .NET C#

Dieses Beispiel zeigt das Grundkonzept, wie kontinuierlich Bilder mit Hilfe der uEye Image Queue aufgenommen werden können. Eine Ringspeichersequenz wird verwendet, um ein 1-Sekunden-Video zu erfassen.

Über die Warteschlange kann immer der älteste Buffer geholt werden. Der Bildspeicher wird automatisch gesperrt. Nach der erfolgreichen Verarbeitung der Bilddaten wird der Buffer entsperrt und zur Wiederverwendung in die Warteschlange gestellt.

Das Sammeln der Bildspeicher erfolgt in einem separaten Worker-Thread. Dieser Thread ist unabhängig von der GUI-Interaktion und erlaubt es, Bilder zu sammeln, ohne unterbrochen zu werden.

Softwareseitige Zuschneide-Operationen (C/C++)

Softwareseitige Zuschneide-Operationen (C/C++)

Dieses Beispiel basiert auf der uEyeImageQueue-Demo. Im Verarbeitungsteil des Image-Queue-Threads können verschiedene Zuschneide-Operationen durchgeführt werden. Alle diese Operationen werden digital durchgeführt, basierend auf den Bildern, die im Host empfangen werden. Die Zuschneide-Operationen werden nicht im Kamerasensor ausgeführt.

Im Gegensatz zu den Hardware-Zuschneidefunktionen auf dem Sensor erlaubt die Softwarelösung auch ungerade Skalierungsfaktoren.

Die Demo zeigt, wie Sie mit Hilfe von C/C++-Zeigeroperationen auf die Bilddaten zugreifen und diese verarbeiten. Die unterschiedlichen Ergebnisse für die Zuschneide-Operationen können leicht visualisiert und verglichen werden.

Multicast-Betrieb für GigE uEye Kameras

Dieses Programmierbeispiel veranschaulicht, wie Sie den Multicast-Modus für eine IDS GigE uEye Kamera konfigurieren und wie Sie als Client die Multicast-Funktion verwenden.

Neben der Initialisierung und Speicherverwaltung sind die wichtigsten uEye API-Funktionen, die in dieser Quellcode-Beispiel verwendet werden: is_GetSensorInfo (), is_DeviceInfo () und is_Multicast ().

uEye .NET C# - GPIO mit Master- und Slave-Kameras

Dieses Beispiel demonstriert, wie die Bildaufnahme zweier Kameras mittels PWM (Pulsweitenmodulation) über den GPIO der Master-Kamera synchronisiert wird. Beide Kameras (Master und Slave) laufen im Modus "Hardware-Trigger (steigende Flanke)" und warten bis ein Triggersignal auf dem GPIO 1 als Trigger-Eingang kommt. Das Triggersignal wird über den GPIO 2 als PWM-Ausgang der Masterkamera erzeugt.

Auf diese Weise startet die Bildaufnahme der beiden Kameras gleichzeitig.

uEye .NET C# - Bildsequenz verwenden

Dieses Beispiel zeigt, wie Sie Bilder im DIB-Modus aufnehmen und als Bildsequenz im Puffer ablegen. Die Sequenz besteht aus 10 Bildpuffer. Das Beispiel verdeutlicht, wie Sie den Puffer allokieren, ihn als aktiv markieren und zu einer Sequenz hinzufügen.

Außerdem zeigt das Beispiel wie Sie die Liste der Sequenz-IDs auslesen, diese in Speicher-IDs umwandeln und den Puffer auslesen (5 von 10).

uEye .NET C# - Bitmap-Bild mit Text

In diesem Beispiel wird gezeigt, wie Sie Bilder im DIB-Modus aufnehmen und ein Bild aus einem zuvor definierten Bildspeicher in ein Bitmap-Bild konvertieren, wie dieses Bild in ein anderes Bitmap kopiert wird und wie Sie Text und sowie ein weiteres Bitmap auf dieses Bild zeichnen. Hierfür wird die Klasse .NET System.Drawing.Graphics verwendet.