![]() |
![]() |
|---|---|
USB 2.0 USB 3.x GigE |
USB 2.0 USB 3.x GigE |
Syntax
INT is_GetImageHistogram (HIDS hCam, INT nMemId, INT ColorMode, DWORD* pHistoMem)
Beschreibung
is_GetImageHistogram() berechnet das Histogramm des übergebenen Bildes. Die Funktion is_GetImageHistogram() unterstützt die folgenden Farbformate:
•IS_CM_SENSOR_RAW8
•IS_CM_MONO8
•IS_CM_RGBY8_PACKED
•IS_CM_BGRY8_PACKED
•IS_CM_RGBA8_PACKED
•IS_CM_BGRA8_PACKED
•IS_CM_BGR565_PACKED
•IS_CM_BGR5_PACKED
•IS_CM_RGB8_PACKED
•IS_CM_BGR8_PACKED
•IS_CM_MONO10
•IS_CM_MONO12
•IS_CM_MONO16
•IS_CM_RGB10_PACKED
•IS_CM_BGR10_PACKED
•IS_CM_RGB10_UNPACKED
•IS_CM_BGR10_UNPACKED
•IS_CM_RGB12_UNPACKED
•IS_CM_BGR12_UNPACKED
|
Histogramm für USB uEye XS Achten Sie darauf, dass für die USB uEye XS der Bildspeicher in der richtigen Größe alloziert ist, damit das Histogramm korrekt berechnet werden kann. |
Übergabeparameter
hCam |
Handle auf Kamera |
nMemId |
Memory ID |
ColorMode |
Farbmodus des Bildes mit Memory ID nID Eine Liste aller möglichen Farbformate und der zugehörigen Übergabeparameter findet sich unter Anhang: Farb- und Speicherformate. |
pHistoMem |
Zeiger auf ein DWORD Array. Das Array muss so alloziert werden, dass es bei Farbformaten und im Raw Bayer-Modus 3*256 Werte aufnehmen kann. Im Monochrommodus muss das Array 1*256 Werte aufnehmen können. |
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_COLOR_FORMAT |
Ungültiges Farbformat |
IS_INVALID_CAMERA_HANDLE |
Ungültiges Kamera-Handle |
IS_INVALID_MEMORY_POINTER |
Ungültiger Zeiger oder ungültige Speicher-ID |
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_NULL_POINTER |
Ungültiges Array |
IS_SUCCESS |
Funktion erfolgreich |
Verwandte Funktionen
Beispiel
char * pcSource;
INT nIDSource;
is_AllocImageMem (hCam, 256, 256, 24, &pcSource, &nIDSource);
int nX, nY, nBits, nPitch;
is_InquireImageMem (hCam, pcSource, nIDSource, &nX ,&nY, &nBits, &nPitch);
//RGB Testbild erzeugen
for (int j = 0; j < nY; j++)
{
for (int i = 0; i < nX*3; i += 3)
{
pcSource[i + j*nPitch] = 0; // Blaue Pixel
pcSource[i + j*nPitch + 1] = i/3; // Grüne Pixel
pcSource[i + j*nPitch + 2] = 255; // Rote Pixel
}
}
// Speicher für RGB-Histogramm anlegen
DWORD bgrBuffer [256*3];
//Pointer für jede Histogramm-Farbe anlegen
DWORD * pBlueHisto = bgrBuffer;
DWORD *pGreenHisto = bgrBuffer + 256;
DWORD * pRedHisto = bgrBuffer + 512;
//Histogramm auslesen und Speicher freigeben
is_GetImageHistogram (hCam, nIDSource, IS_CM_RGB8_PACKED, bgrBuffer);
is_FreeImageMem (hCam, pcSource, nIDSource);