![]() |
![]() |
|---|---|
uEye LE USB 3.1 Gen 1 AF UI-1007XS |
uEye LE USB 3.1 Gen 1 AF UI-1007XS |
Syntax
INT is_Focus (HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam)
Beschreibung
|
Das Setzen des Fokus wird derzeit von folgenden Modellen unterstützt: •UI-1007XS •uEye LE USB 3.1 Gen 1 AF (active focus) |
Mit is_Focus() kann der Fokus des Objektivs automatisch oder manuell gesteuert werden. Abhängig vom Kameramodell stehen unterschiedliche Parameter zur Verfügung. Die Parameter für bestimmte Modelle sind in separaten Kapiteln beschrieben:
Fokuseinstellungen für uEye LE USB 3.1 Gen 1 AF
Fokuseinstellungen für USB uEye XS
Ü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 nSizeOfParam angegeben.
|
Laut Sensorhersteller kann nicht gewährleistet werden, dass ein manuell eingestellter Fokuswert zu einer reproduzierbaren Fokusdistanz führt. Ein mit einem Modell ermittelter Fokuswert muss bei einem anderen Modell nicht zum gleichen Fokuspunkt führen. |
Übergabeparameter
hCam |
Handle auf Kamera |
pParam |
Zeiger auf Funktionsparameter, der abhängig von nCommand unterschiedlich belegt ist. |
nSizeOfParam |
Größe des Speicherbereichs in Byte, auf den pParam verweist. |
Statusflags aus FOCUS_CAPABILITY_FLAGS
FOC_CAP_INVALID |
Kamera unterstützt keine Fokuseinstellungen |
FOC_CAP_AUTOFOCUS_SUPPORTED |
Kamera unterstützt Autofokus |
FOC_CAP_MANUAL_SUPPORTED |
Kamera unterstützt manuellen Fokus |
FOC_CAP_GET_DISTANCE |
Kamera unterstützt Abfrage der Fokusentfernung |
FOC_CAP_SET_AUTOFOCUS_RANGE |
Kamera unterstützt Wahl des Autofokus-Bereichs |
FOC_CAP_AUTOFOCUS_ZONE |
Kamera unterstützt die Verwendung des Fokus-Messfensters |
FOC_CAP_AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM |
Kamera unterstützt die Verwendung des Schärfe-Algorithmus für den Autofokus |
FOC_CAP_AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM |
Kamera unterstützt die Verwendung des Peak-Search-Algorithmus für den getriggerten Autofokus |
FOC_CAP_AUTOFOCUS_AOI |
Kamera unterstützt die Verwendung der Fokus-AOI |
FOC_CAP_AUTOFOCUS_LIMIT |
Kamera unterstützt die Verwendung der unteren und oberen Grenze für den Fokusbereichs des Peak-Search-Algorithmus |
FOC_CAP_AUTOFOCUS_LENS_RESPONSE_TIME |
Kamera unterstützt die Verwendung der Antwortzeit der Linse (Positionierungszeit) |
FOC_CAP_AUTOFOCUS_HYSTERESIS |
Kamera unterstützt die Verwendung der Hysterese |
FOC_CAP_AUTOFOCUS_CALLBACK |
Kamera unterstützt die Verwendung einer Callback-Funktion |
Rückgabewert
IS_CANT_COMMUNICATE_WITH_DRIVER |
Kommunikation mit dem Kameratreiber schlug fehl, weil kein Treiber geladen ist. |
IS_CANT_OPEN_DEVICE |
Ein Versuch die Kamera zu öffnen schlug fehl (Kamera nicht vorhanden oder Fehler beim Initialisieren). |
IS_INVALID_CAPTURE_MODE |
Die Funktion kann im aktuellen Betriebsmodus der Kamera (Freilaufend, Trigger oder Standby) nicht ausgeführt werden. |
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. |
IS_IO_REQUEST_FAILED |
Eine IO Anforderung des uEye Treibers schlug fehl. Eventuell passen die Versionen der Dateien ueye_api.dll (API) und ueye_usb.sys bzw. ueye_eth.sys (Treiber) nicht zusammen. |
IS_NO_SUCCESS |
Allgemeine Fehlermeldung |
IS_NOT_SUPPORTED |
Das verwendete Kameramodell unterstützt diese Funktion oder Einstellung nicht. |
IS_SUCCESS |
Funktion erfolgreich |
UINT uiCaps = 0;
// Abfragen ob die Kamera Autofokus unterstützt
INT nRet = is_Focus (m_hCam, FOC_CMD_GET_CAPABILITIES, &uiCaps, sizeof (uiCaps));
if (nRet == IS_SUCCESS && (uiCaps & FOC_CAP_AUTOFOCUS_SUPPORTED))
{
//Wenn unterstützt, Autofokus aktivieren
nRet = is_Focus (m_hCam, FOC_CMD_SET_ENABLE_AUTOFOCUS, NULL, 0);
}
// Trigger auto focus once
is_Focus(hCam, FOC_CMD_SET_ENABLE_AUTOFOCUS_ONCE, NULL, 0);
//Get auto focus status
INT nRet = 0;
INT nValue = 0;
nRet = is_Focus(hCam, FOC_CMD_GET_AUTOFOCUS_STATUS, (void*)&nValue, sizeof(nValue));
if (nValue == FOC_STATUS_FOCUSED)
{
…
}