![]() |
![]() |
|---|---|
USB 2.0 USB 3.x GigE |
USB 2.0 USB 3.x GigE |
Syntax
INT is_PixelClock(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam)
Beschreibung
Die Funktion gibt den einstellbaren Bereich für den Pixeltakt zurück und setzt den Pixeltakt. Ein zu hoher Pixeltakt kann bei USB-Kameras dazu führen, dass Bilder während der Übertragung verloren gehen. Die aktuelle Bildaufnahme wird beim Ändern des Pixeltaktes abgebrochen.
Je nach Kameramodell und Betriebsmodus können die Grenzwerte für den Pixeltakt variieren. Genauere Informationen zum Pixeltaktbereich eines bestimmten Kameramodells können Sie dem Kapitel Kamera- und Sensordaten entnehmen.
|
In der Regel wird der Pixeltakt einmalig beim Öffnen der Kamera gesetzt und danach nicht mehr geändert. Beachten Sie, dass sich beim Ändern des Pixeltakts auch die Einstellbereiche für die Bildrate und die Belichtungszeit ändern. Bei einer Änderung wird folgende Reihenfolge empfohlen: 1.Pixeltakt ändern. 2.Einstellbereich für die Bildrate abfragen und ggf. neu setzen. 3.Einstellbereich für die Belichtungszeit abfragen und ggf. neu setzen. Wenn ein Parameter verändert wird, müssen aufgrund der Abhängigkeiten auch die nachfolgenden Parameter angepasst werden. |
Über den Übergabeparameter nCommand wird dabei der Funktionsmodus gewählt. Der Übergabeparameter pParam ist abhängig vom Funktionsmodus unterschiedlich belegt; bei Funktionen zum Setzen oder Rücklesen eines Wertes enthält pParam einen Zeiger auf eine Variable vom Typ UINT. Die Größe des Speicherbereichs, auf den pParam verweist, wird im Übergabeparameter cbSizeOfParam angegeben.
Übergabeparameter
hCam |
Handle auf Kamera |
pParam |
Zeiger auf Funktionsparameter, der abhängig von nCommand unterschiedlich belegt ist. |
cbSizeOfParam |
Größe des Speicherbereichs in Byte, auf den pParam verweist. |
Rückgabewert
IS_INVALID_MODE |
Kamera im Standby, Funktion nicht erlaubt |
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. |
IS_NO_SUCCESS |
Allgemeine Fehlermeldung |
IS_NOT_SUPPORTED |
Das verwendete Kameramodell unterstützt diese Funktion oder Einstellung nicht. |
IS_SUCCESS |
Funktion erfolgreich |
Verwandte Funktionen
UINT nNumberOfSupportedPixelClocks = 0;
INT nRet = is_PixelClock(hCam, IS_PIXELCLOCK_CMD_GET_NUMBER, (void*)&nNumberOfSupportedPixelClocks,
sizeof(nNumberOfSupportedPixelClocks));
if ((nRet == IS_SUCCESS) && (nNumberOfSupportedPixelClocks > 0))
{
// No camera has more than 150 different pixel clocks.
// Of course, the list can be allocated dynamically
UINT nPixelClockList[150];
ZeroMemory(&nPixelClockList, sizeof(nPixelClockList));
nRet = is_PixelClock(hCam, IS_PIXELCLOCK_CMD_GET_LIST, (void*)nPixelClockList,
nNumberOfSupportedPixelClocks * sizeof(UINT));
}
UINT nRange[3];
ZeroMemory(nRange, sizeof(nRange));
// Get pixel clock range
INT nRet = is_PixelClock(hCam, IS_PIXELCLOCK_CMD_GET_RANGE, (void*)nRange, sizeof(nRange));
if (nRet == IS_SUCCESS)
{
UINT nMin = nRange[0];
UINT nMax = nRange[1];
UINT nInc = nRange[2];
}
UINT nPixelClock;
// Get current pixel clock
nRet = is_PixelClock(hCam, IS_PIXELCLOCK_CMD_GET, (void*)&nPixelClock, sizeof(nPixelClock));
UINT nPixelClockDefault;
// Get default pixel clock
INT nRet = is_PixelClock(hCam, IS_PIXELCLOCK_CMD_GET_DEFAULT, (void*)&nPixelClockDefault,
sizeof(nPixelClockDefault));
if (nRet == IS_SUCCESS)
{
// Set this pixel clock
nRet = is_PixelClock(hCam, IS_PIXELCLOCK_CMD_SET, (void*)&nPixelClockDefault,
sizeof(nPixelClockDefault));
}