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_AutoParameter(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam)

Beschreibung

Mit der Funktion steuern Sie die automatischen Regelungen für die Belichtungszeit (auto exposure shutter), Verstärkung (auto gain) und Schwarzwert (black level). Als Modus für die Auto-Regelung können Sie zwischen Mittelwert (mean) und Peak-Modus (peak) wählen.

Beim Mittelwert wird das Kamerabild in seiner mittleren Helligkeit und Farbwiedergabe auf den vorgegebenen Sollwert geregelt. Beim Peak-Modus wird entsprechend des gewählten Modus ein Referenzanteil von Pixel im Bild angegeben, auf den geregelt wird (z. B. bei höchster Granularität von 0.01 … 20.00 %). Wenn Sie die Mittelwert-Regelung verwenden möchten, setzen Sie die Funktion is_SetAutoParameter() ein, für die Regelung über den Peak-Modus die Funktion is_AutoParameter().

Ü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.

Inhalte der Struktur AES_CONFIGURATION

INT

nMode

Modus der Auto-Regelung:

•1 = IS_AES_MODE_PEAK: Peak-Modus

CHAR

pConfiguration[1]

Siehe AES_PEAK_WHITE_CONFIGURATION

Inhalte der Struktur AES_PEAK_CONFIGURATION

IS_RECT

rectUserAOI

Gibt die AOI an, die für die Auswertung verwendet werden soll. Wenn keine AOI verwendet werden soll, müssen alle Werte auf 0 gesetzt werden.

Genauere Informationen zum AOI-Raster einzelner Kameramodelle finden Sie im zugehörigen Kapitel des Abschnitts Kamera- und Sensordaten.

UINT

nFrameSkip

Setzt die Anzahl der bei der Regelung nicht auszuwertenden Bilder.

UINT

nHysteresis

Setzt den Hysteresewert. Der Hysteresewert muss immer um ein Inkrement der eingestellten Granularität kleiner sein als der Zielwert der Auto-Regelung. Bei einem falschen Wert erfolgt eine automatische Anpassung.

UINT

nReference

Setzt den Helligkeitsreferenzwert für die Auto-Regelung

UINT

nChannel

Setzt die Kanäle, die für die Auswertung verwendet werden:

•IS_AES_CHANNEL_MONO

•IS_AES_CHANNEL_RED

•IS_AES_CHANNEL_GREEN

•IS_AES_CHANNEL_BLUE

Bei einem monochromen Farbformat hat dieser Parameter keine Auswirkung.

DOUBLE

f64Maximum

Setzt den maximalen Belichtungswert für die Regelung (0 = keine Begrenzung)

DOUBLE

f64Minimum

Setzt den minimalen Belichtungswert für die Regelung (0 = keine Begrenzung)

UINT

nMode

Setzt den Modus, der für die Auswertung verwendet wird:

•IS_AES_CHANNEL_MODE_SELECTED_CHANNELS: regelt auf den Zielwert für den mit nChannel gewählten Farbkanal

•IS_AES_CHANNEL_MODE_LEADING_CHANNEL: regelt auf den Zielwert für den dominierenden Farbkanal in der Sättigung. In diesem Modus wird der Parameter nChannel nicht berücksichtigt.

•IS_AES_PEAK_MODE_ACCUMULATED_CHANNELS: regelt auf den Zielwert für die Summe aller Farbkanäle in der Sättigung. In diesem Modus wird der Parameter nChannel nicht berücksichtigt.

UINT

nGranularity

Setzt die Granularität, die für die Auswertung verwendet wird:

•IS_AES_GRANULARITY_PER_100 (in Prozent, d. h. mit Inkrement 1)

•IS_AES_GRANULARITY_PER_1000 (in Promille, d. h. mit Inkrement 0.1)

•IS_AES_GRANULARITY_PER_10000 (in 1/10-Promille, d. h. mit Inkrement 0.01)

Die Granularität hat Auswirkung auf die folgenden Werte:

•nHysteresis

•nReference

•rangeHysteresis (in der Struktur AES_PEAK_CONFIGURATION_RANGE)

•rangeReference (in der Struktur AES_PEAK_CONFIGURATION_RANGE)

Nachdem die Granularität gesetzt wurde, müssen die Werte für nHysteresis und nReference neu gesetzt werden. Bei Bedarf sollte der Wertebereich neu abgerufen werden (siehe Struktur AES_PEAK_CONFIGURATION_RANGE).

Beispiele zu Granularität, Referenzwert und Hysterese

Referenz- und Hysteresewerte sollen mit einer Auflösung im Prozentbereich angegeben werden:

•nGranularity = IS_AES_GRANULARITY_PER_100

•nHysteresis = 1 (1 %)

•nReference = 10 (10 %)

Referenz- und Hysteresewerte sollen mit einer Auflösung im Promillebereich angegeben werden:

•nGranularity = IS_AES_GRANULARITY_PER_1000

•nHysteresis = 15 (1.5 %)

•nReference = 105 (10.5 %)

Referenz- und Hysteresewerte sollen mit einer Auflösung im 1/10-Promillebereich angegeben werden:

•nGranularity = IS_AES_GRANULARITY_PER_10000

•nHysteresis = 158 (1.58 %)

•nReference = 1054 (10.54 %)

Inhalte der Struktur AES_PEAK_CONFIGURATION_RANGE

IS_RANGE_S32

rangeFrameSkip

Bereich für die Anzahl der nicht auszuwertenden Bilder

IS_RANGE_S32

rangeHysteresis

Bereich für den Hysteresewert

IS_RANGE_S32

rangeReference

Bereich für den Helligkeitsreferenzwert

Beispiel 1

/* Receive configuration */
UINT nSizeOfParam = sizeof(AES_CONFIGURATION) - sizeof(CHAR) + sizeof(AES_PEAK_CONFIGURATION);
CHAR *pBuffer = new char[nSizeOfParam];
memset(pBuffer, 0, nSizeOf);
 
AES_CONFIGURATION *pAesConfiguration = (AES_CONFIGURATION*)pBuffer;
pAesConfiguration->nMode = IS_AES_MODE_PEAK;
 
AES_PEAK_CONFIGURATION *pPeakConfiguration = (AES_PEAK_CONFIGURATION*)pAesConfiguration->pConfiguration;
 
INT nRet = 0;
nRet = is_AutoParameter(hCam, IS_AES_CMD_GET_CONFIGURATION, pAesConfiguration , nSizeOfParam);
 
/* set configuration */
nRet = is_AutoParameter(hCam, IS_AES_CMD_SET_CONFIGURATION, pAesConfiguration , nSizeOfParam);

Beispiel 2

/* Enable */
INT nEnable = IS_AUTOPARAMETER_ENABLE;
is_AutoParameter(hCam, IS_AES_CMD_SET_ENABLE, &nEnable, sizeof(nEnable));
 
/* Disable*/
INT nEnable = IS_AUTOPARAMETER_DISABLE;
is_AutoParameter(hCam, IS_AES_CMD_SET_ENABLE, &nEnable, sizeof(nEnable));
 
/* Run Once*/
INT nEnable = IS_AUTOPARAMETER_ENABLE_RUNONCE;
is_AutoParameter(hCam, IS_AES_CMD_SET_ENABLE, &nEnable, sizeof(nEnable));
 
/* Get enable*/
INT nEnable;
is_AutoParameter(hCam, IS_AES_CMD_GET_ENABLE, &nEnable, sizeof(nEnable));

Beispiel 3

/* Receive configuration */
UINT nSizeOfParam = sizeof(AES_CONFIGURATION) - sizeof(CHAR) + sizeof(AES_PEAK_CONFIGURATION);
CHAR *pBuffer = new char[nSizeOfParam];
memset(pBuffer, 0, nSizeOf);
 
AES_CONFIGURATION *pAesConfiguration = (AES_CONFIGURATION*)pBuffer;
pAesConfiguration->nMode = IS_AES_MODE_PEAK;
AES_PEAK_CONFIGURATION *pPeakConfiguration = (AES_PEAK_CONFIGURATION*)pAesConfiguration->pConfiguration;
 
INT nRet = 0;
nRet = is_AutoParameter(hCam, IS_AES_CMD_GET_CONFIGURATION_DEFAULT, pAesConfiguration, nSizeOfParam);

Beispiel 4

/* Receive range */
UINT nSizeOfParam = sizeof(AES_CONFIGURATION) - sizeof(CHAR) + sizeof(AES_PEAK_CONFIGURATION_RANGE);
CHAR *pBuffer = new char[nSizeOfParam];
memset(pBuffer, 0, nSizeOf);
 
AES_CONFIGURATION *pAesConfiguration = (AES_CONFIGURATION*)pBuffer;
pAesConfiguration->nMode = IS_AES_MODE_PEAK;
AES_PEAK_CONFIGURATION_RANGE *pPeakConfigRange = (AES_PEAK_CONFIGURATION_RANGE*)pAesConfiguration->pConfiguration;
 
INT nRet = 0;
nRet = is_AutoParameter(hCam, IS_AES_CMD_GET_CONFIGURATION_RANGE, pAesConfiguration, nSizeOfParam);

Beispiel 5

INT nSupported = 0;
INT nRet = 0;
nRet = is_AutoParameter(hCam, IS_AES_CMD_GET_SUPPORTED_TYPES, &nSupported, sizeof(nSupported));
 
if (nSupported & IS_AES_MODE_PEAK)
{
…
}