Name
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber — Öffnen und Konfigurieren eines Bildeinzugsgeräts.
open_framegrabber( : : Name, HorizontalResolution, VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn, Field, BitsPerChannel, ColorSpace, Generic, ExternalTrigger, CameraType, Device, Port, LineIn : AcqHandle)
Herror open_framegrabber(const char* Name, const Hlong HorizontalResolution, const Hlong VerticalResolution, const Hlong ImageWidth, const Hlong ImageHeight, const Hlong StartRow, const Hlong StartColumn, const char* Field, const Hlong BitsPerChannel, const char* ColorSpace, double Generic, const char* ExternalTrigger, const char* CameraType, const char* Device, const Hlong Port, const Hlong LineIn, Hlong* AcqHandle)
Herror T_open_framegrabber(const Htuple Name, const Htuple HorizontalResolution, const Htuple VerticalResolution, const Htuple ImageWidth, const Htuple ImageHeight, const Htuple StartRow, const Htuple StartColumn, const Htuple Field, const Htuple BitsPerChannel, const Htuple ColorSpace, const Htuple Generic, const Htuple ExternalTrigger, const Htuple CameraType, const Htuple Device, const Htuple Port, const Htuple LineIn, Htuple* AcqHandle)
void OpenFramegrabber(const HTuple& Name, const HTuple& HorizontalResolution, const HTuple& VerticalResolution, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& StartRow, const HTuple& StartColumn, const HTuple& Field, const HTuple& BitsPerChannel, const HTuple& ColorSpace, const HTuple& Generic, const HTuple& ExternalTrigger, const HTuple& CameraType, const HTuple& Device, const HTuple& Port, const HTuple& LineIn, HTuple* AcqHandle)
void HFramegrabber::HFramegrabber(const HString& Name, Hlong HorizontalResolution, Hlong VerticalResolution, Hlong ImageWidth, Hlong ImageHeight, Hlong StartRow, Hlong StartColumn, const HString& Field, const HTuple& BitsPerChannel, const HTuple& ColorSpace, const HTuple& Generic, const HString& ExternalTrigger, const HTuple& CameraType, const HTuple& Device, const HTuple& Port, const HTuple& LineIn)
void HFramegrabber::HFramegrabber(const HString& Name, Hlong HorizontalResolution, Hlong VerticalResolution, Hlong ImageWidth, Hlong ImageHeight, Hlong StartRow, Hlong StartColumn, const HString& Field, Hlong BitsPerChannel, const HString& ColorSpace, double Generic, const HString& ExternalTrigger, const HString& CameraType, const HString& Device, Hlong Port, Hlong LineIn)
void HFramegrabber::HFramegrabber(const char* Name, Hlong HorizontalResolution, Hlong VerticalResolution, Hlong ImageWidth, Hlong ImageHeight, Hlong StartRow, Hlong StartColumn, const char* Field, Hlong BitsPerChannel, const char* ColorSpace, double Generic, const char* ExternalTrigger, const char* CameraType, const char* Device, Hlong Port, Hlong LineIn)
void HFramegrabber::OpenFramegrabber(const HString& Name, Hlong HorizontalResolution, Hlong VerticalResolution, Hlong ImageWidth, Hlong ImageHeight, Hlong StartRow, Hlong StartColumn, const HString& Field, const HTuple& BitsPerChannel, const HTuple& ColorSpace, const HTuple& Generic, const HString& ExternalTrigger, const HTuple& CameraType, const HTuple& Device, const HTuple& Port, const HTuple& LineIn)
void HFramegrabber::OpenFramegrabber(const HString& Name, Hlong HorizontalResolution, Hlong VerticalResolution, Hlong ImageWidth, Hlong ImageHeight, Hlong StartRow, Hlong StartColumn, const HString& Field, Hlong BitsPerChannel, const HString& ColorSpace, double Generic, const HString& ExternalTrigger, const HString& CameraType, const HString& Device, Hlong Port, Hlong LineIn)
void HFramegrabber::OpenFramegrabber(const char* Name, Hlong HorizontalResolution, Hlong VerticalResolution, Hlong ImageWidth, Hlong ImageHeight, Hlong StartRow, Hlong StartColumn, const char* Field, Hlong BitsPerChannel, const char* ColorSpace, double Generic, const char* ExternalTrigger, const char* CameraType, const char* Device, Hlong Port, Hlong LineIn)
static void HOperatorSet.OpenFramegrabber(HTuple name, HTuple horizontalResolution, HTuple verticalResolution, HTuple imageWidth, HTuple imageHeight, HTuple startRow, HTuple startColumn, HTuple field, HTuple bitsPerChannel, HTuple colorSpace, HTuple generic, HTuple externalTrigger, HTuple cameraType, HTuple device, HTuple port, HTuple lineIn, out HTuple acqHandle)
public HFramegrabber(string name, int horizontalResolution, int verticalResolution, int imageWidth, int imageHeight, int startRow, int startColumn, string field, HTuple bitsPerChannel, HTuple colorSpace, HTuple generic, string externalTrigger, HTuple cameraType, HTuple device, HTuple port, HTuple lineIn)
public HFramegrabber(string name, int horizontalResolution, int verticalResolution, int imageWidth, int imageHeight, int startRow, int startColumn, string field, int bitsPerChannel, string colorSpace, double generic, string externalTrigger, string cameraType, string device, int port, int lineIn)
void HFramegrabber.OpenFramegrabber(string name, int horizontalResolution, int verticalResolution, int imageWidth, int imageHeight, int startRow, int startColumn, string field, HTuple bitsPerChannel, HTuple colorSpace, HTuple generic, string externalTrigger, HTuple cameraType, HTuple device, HTuple port, HTuple lineIn)
void HFramegrabber.OpenFramegrabber(string name, int horizontalResolution, int verticalResolution, int imageWidth, int imageHeight, int startRow, int startColumn, string field, int bitsPerChannel, string colorSpace, double generic, string externalTrigger, string cameraType, string device, int port, int lineIn)
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber öffnet und konfiguriert das ausgewählte
Bildeinzugsgerät. Dabei wird insbesondere auch die Verbindung zum
Bildeinzugsgerät getestet, das Bildeinzugsgerät für andere Prozesse
gesperrt und gegebenenfalls Speicher für die Datenpuffer
reserviert. Der eigentliche Bildeinzug erfolgt dann mittels
grab_imagegrab_imageGrabImageGrabImageGrabImage, grab_datagrab_dataGrabDataGrabDataGrabData, grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync
oder grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync. Wird das Bildeinzugsgerät nicht mehr
benötigt, sollte er mittels close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber wieder
geschlossen und so für andere Prozesse freigegeben werden. Einige
Bildeinzugsgeräte erlauben das gleichzeitige Öffnen mehrerer
Instanzen.
Für alle Parameter kann explizit der gerätespezifische
Default-Wert verwendet werden (vgl. Parameterbeschreibung unten).
Nähere Informationen zu einem bestimmten Bildeinzugsgerät erhält man
mit Hilfe von info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber. Die ausführliche Dokumentation
zu allen gerätespezifischen Parametern findet sich in der Dokumentation
für die verwendete Bildeinzugsschnittstelle im Verzeichnis
'doc/html/reference/acquisition'"doc/html/reference/acquisition""doc/html/reference/acquisition""doc/html/reference/acquisition""doc/html/reference/acquisition".
Die Bedeutung der Parameter von open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber ist im einzelnen:
- HorizontalResolution, VerticalResolution
Gewünschte Auflösung des Bildeinzugsgeräts.
- ImageWidth, ImageHeight
Größe des Bildausschnittes, der von
grab_imagegrab_imageGrabImageGrabImageGrabImage etc. geliefert werden soll.
- StartRow, StartColumn
Linke obere Ecke des gewünschten
Bildausschnittes.
- Field
Gewünschtes Halbbild ('first', 'second'
oder 'next') bzw. Einstellung eines
Vollbildes.
- BitsPerChannel
Die Anzahl an Bits, die das Bildeinzugsgerät
pro Pixel und Bildkanal überträgt
(typischerweise 5, 8, 10, 12 oder 16).
- ColorSpace
Festlegung des Ausgabe-Farbformats der
eingezogenen Bilder (typischerweise
'gray' oder 'raw' für einkanalige bzw.
'rgb' oder 'yuv' für dreikanalige Bilder).
- Generic
Generischer Parameter mit
gerätespezifischer Bedeutung. Diese ist mittels
info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber abfragbar.
- ExternalTrigger
Aktivierung der externen Triggerung des
Bildeinzugsgeräts (soweit unterstützt).
- CameraType
Nähere Spezifikation des gewünschten
Bildeinzugsgeräts (typischerweise die Angabe
des analogen Videoformats oder der Name der zu
verwendenden Kamerakonfigurationsdatei).
Die Bedeutung dieses Parameters ist
gerätespezifisch und kann mittels
info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber abgefragt werden.
- Device
Gerätename des zu verwendenden
Bildeinzugsgeräts.
- Port
Port, an den das Bildeinzugsgerät
angeschlossen ist.
- LineIn
Selektion des Kameraeingangs (falls ein
Multiplexer für den Port verfügbar ist).
Der Operator open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber liefert mit AcqHandleAcqHandleAcqHandleAcqHandleacqHandle
einen Handle auf das geöffneten Bildeinzugsgerät zurück.
Bedingt durch die Vielzahl der unterstützten Bildeinzugsgeräte, umfasst
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber eine große Anzahl von Parametern. Für
ein bestimmten Bildeinzugsgerät werden deshalb nicht immer alle
Parameter benötigt.
Aus Sicht einer Anwendung mit mehreren Threads bilden alle
Bildeinzugsoperatoren also info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber,
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber,
get_framegrabber_paramget_framegrabber_paramGetFramegrabberParamGetFramegrabberParamGetFramegrabberParam, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam,
get_framegrabber_callbackget_framegrabber_callbackGetFramegrabberCallbackGetFramegrabberCallbackGetFramegrabberCallback, set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackSetFramegrabberCallback,
get_framegrabber_lutget_framegrabber_lutGetFramegrabberLutGetFramegrabberLutGetFramegrabberLut, set_framegrabber_lutset_framegrabber_lutSetFramegrabberLutSetFramegrabberLutSetFramegrabberLut,
grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStart, grab_imagegrab_imageGrabImageGrabImageGrabImage, grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync,
grab_datagrab_dataGrabDataGrabDataGrabData, grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync, close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber und
close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbersCloseAllFramegrabbers eine eigene Gruppe innerhalb der
info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber,
close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber und close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbersCloseAllFramegrabbers exklusiv
ausgeführt werden.
D.h., info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber,
close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber und close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbersCloseAllFramegrabbers verhindern die
gleichzeitige Ausführung anderer Operatoren innerhalb der Gruppe, laufen aber
mit allen nicht exklusiven Operatoren außerhalb der Gruppe parallel.
Auf Windows Systemen können Fehler-Dialogboxen vom Betriebssystems
erscheinen, wenn abhängende Module des Interfaces nicht gefunden werden
können. Dies ist beispielsweise der Fall, wenn das entsprechende SDK nicht
installiert wurde. Das Erscheinen der Dialogboxen kann über Windows Error
Mode kontrolliert werden. Informationen dazu finden sich in der Beschreibung
von SetErrorMode in der MSDN Dokumentation.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
Name der HALCON-Bildeinzugsschnittstelle,
d.h. Name der zugehörigen DLL (Windows)
bzw. 'shared library' (Linux/macOS).
Defaultwert:
'File'
"File"
"File"
"File"
"File"
Wertevorschläge: 'ABS'"ABS""ABS""ABS""ABS", 'ADLINK'"ADLINK""ADLINK""ADLINK""ADLINK", 'Andor'"Andor""Andor""Andor""Andor", 'BitFlow'"BitFlow""BitFlow""BitFlow""BitFlow", 'Crevis'"Crevis""Crevis""Crevis""Crevis", 'DahengCAM'"DahengCAM""DahengCAM""DahengCAM""DahengCAM", 'DirectFile'"DirectFile""DirectFile""DirectFile""DirectFile", 'DirectShow'"DirectShow""DirectShow""DirectShow""DirectShow", 'Ensenso-NxLib'"Ensenso-NxLib""Ensenso-NxLib""Ensenso-NxLib""Ensenso-NxLib", 'File'"File""File""File""File", 'GenICamTL'"GenICamTL""GenICamTL""GenICamTL""GenICamTL", 'GigEVision'"GigEVision""GigEVision""GigEVision""GigEVision", 'GigEVision2'"GigEVision2""GigEVision2""GigEVision2""GigEVision2", 'Ginga++'"Ginga++""Ginga++""Ginga++""Ginga++", 'GingaDG'"GingaDG""GingaDG""GingaDG""GingaDG", 'heliCamC3'"heliCamC3""heliCamC3""heliCamC3""heliCamC3", 'LinX'"LinX""LinX""LinX""LinX", 'LPS36'"LPS36""LPS36""LPS36""LPS36", 'LuCam'"LuCam""LuCam""LuCam""LuCam", 'MatrixVisionAcquire'"MatrixVisionAcquire""MatrixVisionAcquire""MatrixVisionAcquire""MatrixVisionAcquire", 'MILLite'"MILLite""MILLite""MILLite""MILLite", 'MultiCam'"MultiCam""MultiCam""MultiCam""MultiCam", 'O3D3xx'"O3D3xx""O3D3xx""O3D3xx""O3D3xx", 'Opteon'"Opteon""Opteon""Opteon""Opteon", 'pylon'"pylon""pylon""pylon""pylon", 'SaperaLT'"SaperaLT""SaperaLT""SaperaLT""SaperaLT", 'Sentech'"Sentech""Sentech""Sentech""Sentech", 'ShapeDrive'"ShapeDrive""ShapeDrive""ShapeDrive""ShapeDrive", 'SICK-3DCamera'"SICK-3DCamera""SICK-3DCamera""SICK-3DCamera""SICK-3DCamera", 'SICK-ScanningRuler'"SICK-ScanningRuler""SICK-ScanningRuler""SICK-ScanningRuler""SICK-ScanningRuler", 'SiliconSoftware'"SiliconSoftware""SiliconSoftware""SiliconSoftware""SiliconSoftware", 'TWAIN'"TWAIN""TWAIN""TWAIN""TWAIN", 'uEye'"uEye""uEye""uEye""uEye", 'USB3Vision'"USB3Vision""USB3Vision""USB3Vision""USB3Vision", 'Video4Linux2'"Video4Linux2""Video4Linux2""Video4Linux2""Video4Linux2", 'VRmUsbCam'"VRmUsbCam""VRmUsbCam""VRmUsbCam""VRmUsbCam"
Gewünschte horizontale Auflösung des
Bildeinzugsgeräts
(absoluter Wert oder 1 für Vollauflösung, 2 für
halbe Auflösung bzw. 4 für viertel Auflösung).
Defaultwert: 1
Wertevorschläge: 1, 2, 4, 1600, 1280, 768, 640, 384, 320, 192, 160, -1
Gewünschte vertikale Auflösung des
Bildeinzugsgeräts
(absoluter Wert oder 1 für Vollauflösung, 2 für
halbe Auflösung bzw. 4 für viertel Auflösung).
Defaultwert: 1
Wertevorschläge: 1, 2, 4, 1200, 1024, 576, 480, 288, 240, 144, 120, -1
Gewünschtes Halbbild bzw. Vollbild.
Defaultwert:
'default'
"default"
"default"
"default"
"default"
Wertevorschläge: 'first'"first""first""first""first", 'second'"second""second""second""second", 'next'"next""next""next""next", 'interlaced'"interlaced""interlaced""interlaced""interlaced", 'progressive'"progressive""progressive""progressive""progressive", 'default'"default""default""default""default"
Anzahl übertragener Bits pro Pixel und Bildkanal
(-1: gerätespezifischer Defaultwert).
Defaultwert: -1
Wertevorschläge: 5, 8, 10, 12, 14, 16, -1
Festlegung des Ausgabe-Farbformats der
eingezogenen Bilder, typischerweise
'gray' oder 'raw' für einkanalige bzw.
'rgb' oder 'yuv' für dreikanalige Bilder
('default': gerätespezifischer Defaultwert).
Defaultwert:
'default'
"default"
"default"
"default"
"default"
Wertevorschläge: 'gray'"gray""gray""gray""gray", 'raw'"raw""raw""raw""raw", 'rgb'"rgb""rgb""rgb""rgb", 'yuv'"yuv""yuv""yuv""yuv", 'default'"default""default""default""default"
Generischer Parameter mit gerätespezifischer
Bedeutung.
Defaultwert: -1
Triggerung durch externes Signal.
Defaultwert:
'default'
"default"
"default"
"default"
"default"
Werteliste: 'default'"default""default""default""default", 'false'"false""false""false""false", 'true'"true""true""true""true"
Verwendeter Kameratyp
('default': gerätespezifischer Defaultwert).
Defaultwert:
'default'
"default"
"default"
"default"
"default"
Wertevorschläge: 'ntsc'"ntsc""ntsc""ntsc""ntsc", 'pal'"pal""pal""pal""pal", 'auto'"auto""auto""auto""auto", 'default'"default""default""default""default"
Device, an das das Bildeinzugsgerät
angeschlossen ist
('default': gerätespezifischer Defaultwert).
Defaultwert:
'default'
"default"
"default"
"default"
"default"
Wertevorschläge: '-1'"-1""-1""-1""-1", '0'"0""0""0""0", '1'"1""1""1""1", '2'"2""2""2""2", '3'"3""3""3""3", 'default'"default""default""default""default"
Port, an den das Bildeinzugsgerät angeschlossen ist
(-1: gerätespezifischer Defaultwert).
Defaultwert: -1
Wertevorschläge: 0, 1, 2, 3, -1
Kameraeingang
(-1: gerätespezifischer Defaultwert).
Defaultwert: -1
Wertevorschläge: 1, 2, 3, 4, -1
Handle für das neu geöffnete Bildeinzugsgerät.
* Select a suitable image acquisition interface name AcqName
info_framegrabber(AcqName,'port',Information,Values)
* Open image acquisition device using the default settings, see
* documentation of the actually used interface for more details
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
'default','default','default',-1,-1,AcqHandle)
grab_image(Image,AcqHandle)
close_framegrabber(AcqHandle)
/* Select a suitable image acquisition interface name AcqName */
info_framegrabber(AcqName,"port",&Information,&Values) ;
/* Open image acquisition device using the default settings, see
documentation of the actually used interface for more details */
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0,
'default','default','default',-1,-1,&AcqHandle) ;
grab_image(Image,AcqHandle) ;
close_framegrabber(AcqHandle) ;
* Select a suitable image acquisition interface name AcqName
info_framegrabber(AcqName,'port',Information,Values)
* Open image acquisition device using the default settings, see
* documentation of the actually used interface for more details
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
'default','default','default',-1,-1,AcqHandle)
grab_image(Image,AcqHandle)
close_framegrabber(AcqHandle)
* Select a suitable image acquisition interface name AcqName
info_framegrabber(AcqName,'port',Information,Values)
* Open image acquisition device using the default settings, see
* documentation of the actually used interface for more details
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
'default','default','default',-1,-1,AcqHandle)
grab_image(Image,AcqHandle)
close_framegrabber(AcqHandle)
* Select a suitable image acquisition interface name AcqName
info_framegrabber(AcqName,'port',Information,Values)
* Open image acquisition device using the default settings, see
* documentation of the actually used interface for more details
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
'default','default','default',-1,-1,AcqHandle)
grab_image(Image,AcqHandle)
close_framegrabber(AcqHandle)
Sind die Parameterwerte korrekt und konnte das gewünschte Bildeinzugsgerät
geöffnet werden, liefert open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber den Wert 2 (H_MSG_TRUE).
Ansonsten wird eine Fehlerbehandlung durchgeführt.
info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber
grab_imagegrab_imageGrabImageGrabImageGrabImage,
grab_datagrab_dataGrabDataGrabDataGrabData,
grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStart,
grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync,
grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam,
set_framegrabber_callbackset_framegrabber_callbackSetFramegrabberCallbackSetFramegrabberCallbackSetFramegrabberCallback
info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber,
close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber,
grab_imagegrab_imageGrabImageGrabImageGrabImage
Foundation