5. März 2012

              pylon 3.0 – erfahren Sie mehr über die neue API

              Die neue benutzerfreundliche pylon C++ API verwendet nur pylons so genannte „Low Level C++ API“. Notwendiges Detailwissen über GigE Vision und Basler Kamera-Technologie wird nun automatisch durch den Treiber innerhalb neuer Klassen gehandhabt. Dadurch können die benötigten Zeilen Code, die innerhalb der Vision-Applikation des Kunden programmiert werden müssen, um das zehn- bis zwanzigfache reduziert werden. Dies minimiert Arbeits- und Zeitaufwand für die pylon Integration erheblich, so dass Nutzer schneller Projekt-Resultate erzielen können. Auch die Robustheit der Treiber-Integration wurde verbessert, da jetzt mehr Expertenwissen in der neuen API-Erweiterung vorgehalten wird.
              Rückwärts-Kompatibilität
              Der Ansatz, für die Vereinfachungen nicht bestehende pylon Funktionen zu verändern, sondern ausschließlich neue API-Funktionen hinzuzufügen, gewährleistet auch die Rückwärts-Kompatibilität von pylon 3.0 zu älteren pylon 2.x-Versionen. In das “pylon Quality Frame Work“ integrierte Tests werden die Rückwärts-Kompatibilität auch für zukünftige Releases sicherstellen. Damit habe Kunden die Freiheit, den API-Versions-Wechsel jetzt oder später durchzuführen – je nachdem, wann er am besten in den Projektplan passt.

              Kunden, die ein älteres pylon Release einsetzen, können zudem so von anderen Verbesserungen und Fehlerbeseitigungen in den Kameratreibern profitieren ohne den Code zu überarbeiten - weitere Informationen hierzu finden Sie in den pylon Release Notes.
              Ein einfaches Beispiel
              Die folgenden Zeilen Code zeigen Ihnen anhand einer generischen Bildaufnahme-Aufgabe, wie einfach es ist, Bilder mit der neuen pylon API zu generieren:

              // Zur ersten Kamera eine Verbindung öffnen
              CInstantCamera camera( CTlFactory::GetInstance().CreateFirstDevice());

              // Den Bildeinzug für eine Anzahl von Bildern starten
              camera.StartGrabbing( c_countOfImagesToGrab);

              // Einen smart pointer erstellen, um die Ergebnisse einfach zu handhaben
              CGrabResultPtr ptrGrabResult;

              // Diese Schleife arbeitet bis alle Bilder aufgenommen wurden
              while ( camera.IsGrabbing()) {

                 // Das neuste Bild holen und 
                 camera.RetrieveResult( 5000, ptrGrabResult, TimeoutHandling_ThrowException);

                 // eine ‘Analyse’ ausführen
                 if (ptrGrabResult->GrabSucceeded()) {
              const uint8_t *pImageBuffer = (uint8_t *) ptrGrabResult->GetBuffer();
                     cout << "Der Grauwert des ersten Pixels ist: " << (uint32_t) pImageBuffer[0] << endl;
                 }
              }

              Dieses einfache Beispiel illustriert, wie Sie mit der CInstantCamera Klasse Bilder erfassen und verarbeiten können. Das Ganze geschieht asynchron: Während die Applikation einen Buffer analysiert, wird parallel das nächste Bild aufgenommen. Die CInstantCamera Klasse nutzt einen Pool von Buffern, um Bilder von der Kamera abzuholen und zum PC zu übertragen. Sobald ein Buffer gefüllt und übertragen ist, kann dieser einfach von der Applikation zur Bild-Analyse genutzt werden. Ein neuer intelligenter ‚Smart Pointer‘ Mechanismus organisiert die Buffer innerhalb der Applikation und sorgt dafür, dass sie nach der Bild-Analyse automatisch für die neu aufgenommene Bilder wiederverwendet werden. 

              Anwender müssen im Vergleich zur pylon 2.x API die Bilderfassung nicht mehr in Einzelheiten konfigurieren. So entfallen z.B. das Festlegen der Größe oder Reihenfolge der Bild Buffer, die Ressource-Verteilung oder das manuelle De-Registrieren der Buffer, wenn die Bilderfassung gestoppt wird oder die Anwendung beendet wird. All das wird nun automatisch durch die CInstantCamera Klassen erledigt.

              In ähnlich komfortabler Art und Weise übernimmt die neue API auch die folgenden Aufgaben:
              • Kamera-Parametrierung
              • Bilderfassung und Buffer Management auf dem PC
              • Verwendung von Callbacks, z.B, um über neue Bilder informiert zu werden
              • Konvertierung von Bildern in andere Formate wie BMP, PNG, TIFF and JPG
              • Speichern von Bildern in verschiedenen Formaten auf die Festplatte
              • Aufnahme von Bildserien in AVI-Dateien auf der Festplatte
              Dokumentation
              Der “Migrating from Previous Versions”-Teil im Dokument “Programmer’s Guide and API Reference” hilft Ihnen, Ihren bestehenden pylon 2.x Code auf die neue High Level 3.0 API zu übertragen um die neuen Features zu nutzen. Ein Reihe neuer Code-Beispiele im pylon 3.0 SDK zeigt Ihnen dann, wie Sie die neuen API-Funktionen in realen Fällen nutzen können.

              Probieren Sie es aus - kostenloser Download
              Schauen Sie sich das Ganze gern einmal im Detail an und laden Sie sich das kostenlose pylon 3.0 Treiberpaket für Windows (32bit oder 64bit) in unserem Download-Bereich herunter.

                RSS Feed

                Abonnieren Sie die Basler News via RSS Feed. Sie erhalten alle aktuellen Nachrichten bequem geliefert.
                RSS News Feed
                 
                Bitte aktivieren Sie Cookies, um beim nächsten Download Ihre Daten nicht erneut eingeben zu müssen.