Aktivieren Sie JavaScript, um die Website anzuzeigen.

IDS Software Suite 4.95

Windows_Logo
Linux_Logo

USB 2.0

USB 3.x

GigE

USB 2.0

USB 3.x

GigE

Syntax

INT is_GetImageInfo (HIDS hCam, INT nMemId, UEYEIMAGEINFO *pImageInfo, INT nImageInfoSize)

Beschreibung

is_GetImageInfo()liefert zusätzliche Informationen zu aufgenommenen Bildern. Es werden ein Zeitstempel mit dem Zeitpunkt der Bildaufnahme sowie die Zustände der Ein-/Ausgänge der Kamera zu diesem Zeitpunkt zurückgegeben. Um Informationen zu einem gerade aufgenommenen Bild abzufragen, kann is_GetImageInfo() direkt nach dem Eintreffen des Events IS_SET_EVENT_FRAME aufgerufen werden.

Verwendung bei GigE und USB 3 uEye Kameras

Die Struktur UEYEIMAGEINFO gibt den kamerainternen Zeitstempel u64TimestampDevice zurück, der den Zeitpunkt der Bildaufnahme mit einer Auflösung von 0,1 μs angibt. Als Zeitpunkt der Bildaufnahme ist definiert:

•Im getriggerten Modus der Eingang des Triggerereignisses (Hardware- oder Softwaretrigger) an der Kamera. Die Verzögerung zwischen dem Eingang des Triggersignals und dem Beginn der Belichtung ist sensorabhängig.

•Im freilaufenden Modus der Zeitpunkt, an dem der Sensor beginnt, Bilddaten auszugeben (siehe auch Vorgehensweise: Bildaufnahme). Ein Rolling-Shutter-Sensor gibt nach Belichtung der ersten Zeile Bilddaten aus. Ein Global-Shutter-Sensor gibt nach Belichtung aller Zeilen Bilddaten aus.

Die Struktur UEYETIME gibt einen auf die PC-Systemzeit synchronisierten Zeitstempel mit einer Auflösung von 1 ms zurück. Dieser Zeitstempel wird in 60-Sekunden-Intervallen neu synchronisiert. Dadurch können leichte Sprünge in der über UEYETIME übergebenen Zeit auftreten (durchschnittlich ca. 3 ms).

Zur genauen Bestimmung von Intervallen zwischen zwei Aufnahmen sollte daher der kamerainterne Zeitstempel u64TimestampDevice verwendet werden.

Verwendung bei USB 2 uEye Kameras, USB 3 uEye CP Rev. 1 und USB 3 uEye LE Kameras (ab Version 4.82)

Der Zeitstempel u64TimestampDevice gibt den Zeitpunkt an, zu dem die Übertragung der Bilddaten in den PC abgeschlossen ist.

Die Struktur UEYETIME gibt den Zeitstempel als synchronisierte PC-Systemzeit mit einer Auflösung von 1 ms zurück.

Für den normalen Triggermodus (ohne verzahntes Triggern) kann mit folgender Formel annähernd der Zeitstempel auf den Start der Bildaufnahme zurückgerechnet werden:

u64TimestampDevice -= static_cast<uint64_t>((frametime_inc * static_cast<double>(aoi.s32Height) * 10000000.0) + (exposure * 10000.0));

hint_info

Bildspeicher in einer Sequenz müssen mit is_LockSeqBuf() gelockt werden, damit die Zuordnung zwischen Bilddaten und Bildinformationen gewährleistet ist. Andernfalls kann es vorkommen, dass ein Bildspeicher mit neuen Bilddaten gefüllt wird. Die Bildinformationen stimmen in diesem Fall nicht mehr mit den Bilddaten überein.

Übergabeparameter

hCam

Handle auf Kamera

nMemId

ID des Bildspeichers, zu dem Informationen abgefragt werden sollen

pImageInfo

Zeiger auf Struktur vom Typ UEYEIMAGEINFO, in die die Informationen geschrieben werden sollen

nImageInfoSize

Größe der Struktur

Inhalt der Struktur UEYEIMAGEINFO

DWORD

dwFlags

Interne Statusflags (derzeit nicht in Verwendung)

BYTE

byReserved1[4]

Reserviert

UINT64

u64TimestampDevice

Interner Zeitstempel der Bildaufnahme (Tick Count der Kamera in Schritten von 0,1 μs)

UEYETIME

TimestampSystem

Struktur mit Zeitstempel-Informationen im Format der PC-Systemzeit, siehe unten UEYETIME

DWORD

dwIoStatus

Gibt bei GigE und USB 3 uEye Kameras die Zustände der digitalen Ein-/Ausgänge zum Zeitpunkt der Bildaufnahme zurück.

•Bei digitalem Eingang (Trigger): Anliegendes Signal

•Bei GPIO als Eingang: Anliegendes Signal

•Bei GPIO als Ausgang: Gesetzter Pegel

Bei anderen Kameras ist dwIoStatus leer. Siehe unten dwIOStatus

WORD

wAOIIndex

Index des AOI (nur Sequenz-AOI-Modus bei UI-124x/UI-324x/UI-524x und UI-125x/UI-325x/UI-525x)

WORD

wAOICycle

Auslesezyklus (nur Sequenz-AOI-Modus bei UI-124x/UI-324x/UI-524x und UI-125x/UI-325x/UI-525x)

UINT64

u64FrameNumber

Interne Bildnummer (nicht chronologisch)

Hinweis: Verwenden Sie für eine korrekte Bildreihenfolge u64TimestampDevice.

DWORD

dwImageBuffers

Anzahl der vorhandenen kamerainternen Bildspeicher

DWORD

dwImageBuffersInUse

Anzahl der belegten kamerainternen Bildspeicher

DWORD

dwReserved3

Reserviert

DWORD

dwImageHeight

Bildhöhe

DWORD

dwImageWidth

Bildbreite

DWORD

dwHostProcessTime

Nur im DIB-Modus: Zeit in µs, die für die Verarbeitung des Bildes verwendet wurde (Zeitdifferenz zwischen der Ankunft der Bild-Rohdaten und dem Setzen des Frame-Events). Der Wert ist ein Anhaltspunkt für die maximal mögliche Bildrate.

BYTE

bySequencerIndex

Sequencer-Set, das zur Aufnahme des Bildes über den Sequencer-Mode aktiv war. Siehe is_Sequencer() um mehr Infos über dieses Set zu erhalten.

DWORD

dwFocusValue

uEye LE USB 3.1 Gen 1 AF: Gibt zurück, mit welchen Fokuseinstellungen das Bild aufgenommen wurde.

BOOL

bFocusing

uEye LE USB 3.1 Gen 1 AF: Gibt zurück, ob bei der Bildaufnahme der Autofokus aktiv war.

Statusflags in UEYEIMAGEINFO::dwIoStatus

Bitkombination

Pegel digitaler Eingang

Pegel GPIO 1

Pegel GPIO 2

000

0

0

0

001

0

0

1

010

0

1

0

011

0

1

1

100

1

0

0

101

1

0

1

110

1

1

0

111

1

1

1

Inhalt der Struktur UEYEIMAGEINFO::UEYETIME

WORD

wYear

Jahr des Zeitstempels

WORD

wMonth

Monat des Zeitstempels

WORD

wDay

Tag des Zeitstempels

WORD

wHour

Stunde des Zeitstempels

WORD

wMinute

Minute des Zeitstempels

WORD

wSecond

Sekunde des Zeitstempels

WORD

wMilliseconds

Millisekunde des Zeitstempels

BYTE

wReserved[10]

Reserviert

Rückgabewert

IS_INVALID_CAMERA_HANDLE

Ungültiges Kamera-Handle

IS_INVALID_PARAMETER

Einer der übergebenen Parameter ist außerhalb des gültigen Bereichs, oder für diesen Sensor nicht unterstützt, bzw. in diesem Modus nicht zugänglich.

Dies ist der Fall, wenn z.B.:

•mehr Speicher alloziert wird, als die Struktur UEYEIMAGEINFO benötigt

•nMemId <= 0

•pImageInfo == NULL

•nImageInfoSize <= 0

IS_NO_SUCCESS

Allgemeine Fehlermeldung

IS_SUCCESS

Funktion erfolgreich

Verwandte Funktionen

•is_CaptureStatus()

•is_LockSeqBuf()

•is_UnlockSeqBuf()

•is_SetImageMem()

•is_IO()

•is_DeviceFeature()

Beispiel

UEYEIMAGEINFO ImageInfo;
// Zeitstempel der Kamera auslesen
INT nRet = is_GetImageInfo( hCam, m_lMemoryId, &ImageInfo, sizeof(ImageInfo));
if (nRet == IS_SUCCESS)
{
unsigned long long u64TimestampDevice;
  u64TimestampDevice = ImageInfo.u64TimestampDevice;  
 
CString Str; // Zeitstempel in Systemzeit auslesen
Str.Format("%02d.%02d.%04d, %02d:%02d:%02d:%03d",
          ImageInfo.TimestampSystem.wDay,
          ImageInfo.TimestampSystem.wMonth,
          ImageInfo.TimestampSystem.wYear,
          ImageInfo.TimestampSystem.wHour,
          ImageInfo.TimestampSystem.wMinute,
          ImageInfo.TimestampSystem.wSecond,
          ImageInfo.TimestampSystem.wMilliseconds);
 
DWORD dwTotalBuffers = ImageInfo.dwImageBuffers;
DWORD dwUsedBuffers = ImageInfo.dwImageBuffersInUse;
}

Beispielprogramme

•uEye Timestamp (C++)