Brack Logo
Canon SDK

Canon SDK

Software Development Kit

Gründe für das SDK von Canon

Das Canon SDK ist und bleibt kostenlos: Jeder kann es erhalten, ohne zu sagen, wofür es eingesetzt werden soll.

  • Mit dem Canon SDK und den zahlreichen Canon-DSLR-, Kompakt- und Systemkameras aus dem Consumer-Markt stehen kostengünstige Alternativen zu teuren Industriekameras zur Verfügung.
  • Dank benutzerfreundlichen Schnittstellen mit dem Canon SDK binden die Programmierer die Kameras leicht in Prozesse ein.
  • Sie erhalten einen speziellen Anwender-Support für Programmierer und Produktionsplaner.
  • Die Canon-Kameras liefern garantiert höchste Bildqualität durch CMOS-Sensoren auch bei schwierigen Lichtverhältnissen.
  • Es gibt nur ein SDK für alle Canon-DSLR- und Kompaktkameras. Sie können also auch mit verschiedenen Canon-Modellen in einer Prozesskette arbeiten.


Wie man SDK einsetzt und handelsübliche Kameras in Geschäfts- und Industrieanwendungen integriert

Verfahren, welche hochauflösende Bilder benötigen, werden für viele Branchen immer wichtiger. Ob Produktion, Behörde oder Landwirtschaft, Software kann Bilder immer besser analysieren, mit den Ergebnissen Prozesse anstossen und steigert so Effizienz und Qualität, zum Beispiel beim 3D-Druck, der Anlagen- oder Qualitätskontrolle. Was benötigen Anwender, um hochqualitative Bilder automatisiert und wirtschaftlich in ihre Systeme einzuspeisen? Nachfolgend einige Antworten dazu:

Ohne Anbindung an ihre Umgebung ist eine Kamera recht wertlos. Stellen Sie sich folgendes Szenario vor: Ihre Drohne schwebt über einem Kraftwerk, dessen Aussenhülle Sie kontrollieren wollen. Nun muss die Aufnahme so gut aufgelöst sein, dass feine Risse erkennbar sind. Eine Entscheidung dabei ist, ob Standbilder eines Films oder eine Fotoaufnahmen bessere Ergebnisse liefern. Spielt das Wetter nicht mit, müssen Blende und Verschlusszeit der Kamera angepasst werden. Ausserdem wollen Sie genau zu einem bestimmten Zeitpunkt auslösen – Sie sehen das Bild der Kamera auf einem Monitor am Boden und machen das Foto per Knopfdruck.

Wie auch immer Ihr individuelles Szenario aussieht: Sie können Drohnen, Fotoboxen oder Fertigungsstrassen mit einer handelsüblichen Kamera wie der Canon PowerShot SX70 HS ausrüsten.Die Kamera ist handlich, verfügt über einen leistungsstarken 65-fachen optischen Zoom, hat einen 20,3-Megapixel-Sensor und ermöglicht die Aufnahme von Videos in 4K UHD. Über Bluetooth und WLAN kann die PowerShot angesteuert werden und über den Software Development Kit (SDK) ist sie in spezifische Anwendungen eingebunden. Weitere Kameramodelle und mögliche Einsatzgebiete stellen wir Ihnen weiter unten vor.


Was ist ein SDK?

Ein Software Development Kit (SDK) stellt hilfreiche Tools, Schnittstellen und Dokumentationen gebündelt für Entwickler bereit. Die Entwickler erfahren mit dem SDK, wie genau sie eine Kamera in die individuelle Umgebung einbinden. Ein SDK enthält sogenannte APIs, Bibliotheken und Treiber, mit denen sich Plug-ins oder Apps einfach programmieren lassen. Als Application Programming Interface (API) bezeichnet man die Schnittstelle einer Software, die dafür sorgt, dass Daten reibungslos von der Kamera zur Software übertragen werden und dort weiterverarbeitet werden können. Die Software kann aber gleichzeitig auch die Kamera steuern, einstellen und auslösen. Mit dem Canon SDK können Programmierer die Funktionen der Canon-Digitalkameras (Blende, Verschlusszeit, Auslöser, Autofokus, etc.) sowie Objektivfunktionen (z.B. Zoom) in Software und Prozesse integrieren. Das SDK wird als Bibliothek bereitgestellt, welche in der Anwendungssoftware weitergenutzt werden kann. Die Hauptfunktionen des SDK ermöglichen es, Bilddaten zu sammeln und an eine nachgelagerte Prozessanwendung, wie einen Computer oder eine Bildverarbeitungssoftware oder zur Anzeige resp. Speicherung, zu übertragen.

Eine Dokumentation erklärt Nutzern entsprechend ihrem Kenntnisstand, wie die Software funktioniert, wie man sie anwendet, was sie erzeugt und verarbeitet, was ihr Betrieb erfordert und worauf ihre Entwicklung basiert.

Eine Bibliothek (auch Programmbibliothek) ist eine Sammlung nicht eigenständig laufender Unterprogramme/-routinen. Diese wird benötigt, um gewisse Lösungen mit bestehender Software zu erarbeiten.

Mit dem EOS Digital SDK (ED-SDK) können Softwareentwickler spezielle Software zur Steuerung von EOS/PowerShot-Kameras zur Integration in Geschäftslösungen erstellen.

Die wichtigsten Funktionen des Canon SDKs sind:

  • Erkennen, Verbinden/Trennen der Kamera
  • Überprüfen und Ändern der Kameraeinstellungen, einschliesslich der Uhrzeit
  • Ferngesteuerte Aufnahmen
  • Herunterladen und Löschen von Bildern sowie das Formatieren von Speicherkarten


Mögliche Einsatzgebiete für Canon Consumer Kameras

Natürlich gibt es spezielle, oft sehr teure Industriekameras. Nicht immer, aber überraschend oft, erledigen handelsübliche Kameras die gleiche Aufgabe – nur deutlich günstiger. Viele Kameras liefern auch nicht die Auflösung, welche z.B. zum Aufspüren von Haarrissen benötigt werden. Mit ihrem speziellen CMOS-Sensor liefern Kameras von Canon aber genau diese Auflösung.

Canon-CMOS-Sensor

Entscheidend für die Schärfe der Aufnahmen ist vor allem der Sensor. Die präzise Steuerung jedes einzelnen Produktionsschrittes ermöglicht es Canon, grosse Sensoren mit hohem Dynamikbereich und minimalem Bildrauschen zu konstruieren – zentrale Merkmale für exzellenten Bildqualität. Selbst bei hoher ISO-Empfindlichkeit ist die Auflösung ausgezeichnet. Ein vor dem Sensor befindlicher Tiefpassfilter unterdrückt Fehlfarben und ermöglicht Klarheit selbst bei feinen Strukturen. So werden Bilder detailgenau, sowohl in dunklen als auch in sehr hellen Bereichen. Farb- und Lichtnuancen werden exakt wiedergegeben. Dies erleichtert die Nutzung der Bildinformationen durch nachgelagerte Aktoren, wie Roboter oder Maschinen.

Qualitätsprüfung von Uhren

Qualitativ hochwertige Uhren und Chronometer müssen die hohen Erwartungen ihrer Käufer erfüllen. Minimale Produktionsabweichungen können bei Automatikuhren aber zu Abweichungen führen und die Toleranz von wenigen Sekunden pro Monat übersteigen. Hier helfen Canon-Kameras bei der automatisierten Qualitätssicherung. Sie fotografieren Uhren und senden die Bilder an eine Auswertungssoftware. Diese gleicht die angegebene Zeit mit der Atomuhr in Braunschweig ab. So fallen in wenigen Tagen jene Uhren auf, welche die zulässige Zeitabweichung überschreiten.


Luftbildaufnahmen für Bodenanalysen

Geologen, Archäologen, Landwirte sowie zahlreiche andere Berufsgruppen nutzen Luftbildaufnahmen für die Bodenanalyse. Ob in Drohnen oder in speziell für Kleinflugzeuge entwickelten Systemhalterungen von Sky Imaging Mapping Data (SkyIMD) – Canon-Kameras liefern gestochen scharfe Aufnahmen. Die zertifizierten CSC-Kameras Canon EOS R5 oder R5 C bieten mit ihrer Mittelformat-Auflösung in 45 Megapixeln eine günstige und einfache Automatisierung für die Luftbildverarbeitung. Die Kameras liefern hochwertige Luftbilder für Fotogrammetrie, Geomatik und Präzisionslandwirtschaft zu einem wesentlich günstigeren Preis als bisherige Luftbildkameras.

Fotoscanner – Vorlagen für den 3-D-Druck

Um einen Gegenstand oder eine Person detailgenau in einem 3-D-Druck wiederzugeben, müssen Fotos aus allen Winkeln vorliegen. Eine Software errechnet anschliessend aus den Aufnahmen die Vorlage für den additiven Druck. Die Herausforderung dabei ist, bis zu 100 Kameras zu synchronisieren: Sie müssen auf die Millisekunde exakt gleichzeitig auslösen. Durch die Ansteuerung der Kameras über Software und ED-SDK ist das perfekt machbar.

Qualitätskontrolle von Textilien

Immer wenn höchste Qualitätsansprüche an die Produktion gestellt werden, helfen die hochauflösenden Kameras von Canon, selbst kleinste Produktionsfehler aufzuspüren. Bei der Herstellung feinster Stoffe mussten früher die Mitarbeiter jeden Quadratzentimeter des Gewebes begutachten, um Webfehler zu erkennen. Diese Aufgaben können Kameras viel effizienter und zu tieferen Kosten übernehmen. Mit der 45-Megapixel-Kamera EOS R5 beispielsweise werden selbst kleinste Abweichungen erkannt, welche z.B. durch Garnrollen-Wechsel entstehen können. In Verbindung mit der EOS R nutzt dies auch die Autoindustrie, um minimale Lackfehler aufzuspüren.

Erfassung von Palettenlieferungen

Lagerein- und -auslieferungen müssen heute live erfasst werden, damit das ERP-System die Lagerbestände korrekt anzeigt. Bisher wurden Barcodes per Hand gescannt, aber es geht auch einfacher: Kameras erfassen die Paletten, eine Software erkennt mittels Canon-Kameras dank ihrer hohen Auflösung die Barcodes automatisiert und bucht die Paletten im System ein. So kann mit wenig Aufwand die Effizienz stark gesteigert werden.

Steuerung von Robotern

Auch Roboter lassen sich heute über Bilderkennung gut steuern. Kameras senden Bilder an eine Software, diese erkennt Formen und sendet Befehle an die Roboter, welches Objekt wo verbaut werden muss. Wenn Roboter über Kameras Oberflächen, Farben und Formen erkennen, können Teile nach Qualität aussortiert oder der Nachbearbeitung übergeben werden. Bei der Fenster- oder Türproduktion erkennen die Bearbeitungsmaschinen dank einer Canon-Kamera, wo sie sägen, schleifen, bohren oder kleben müssen – auch bei Bauteilen mit abweichenden Massen für eine automatisierte Fertigung individueller Einzelteile. So tragen Canon-Kameras zur Industrie 4.0 bei.

Automatisierung der Produktion

Eine vernetzte Produktion und Fertigung ist ohne Bildverarbeitung in vielen Bereichen nicht mehr wegzudenken. Die Kamera ist hierbei Sensor und Datenlieferant, deren Einsatz über eine Produktionsplanungssoftware (PPS) gesteuert wird. Sie liefert die Bilder nach Bedarf an die Auswertungs-Software. Die Kamera wird dabei von der PPS ferngesteuert – über das ED-SDK.

Tipp: Definieren Sie die Anforderungen an eine Kamera genau. Beachten Sie vor dem Kauf deren Gewicht, die Baumasse, die Auflösung der Video- oder Bilddaten, die Geschwindigkeit der Datenbereitstellung, die erforderlichen Schnittstellen wie USB 3.0, Ethernet, NFC, WLAN oder Bluetooth und die benötigte Zahl der Auslösungen pro Zeiteinheit.

ED-SDK und CCAPI – wo ist der Unterschied?

Wie erwähnt binden Nutzer die Canon-Kameras mit dem ED-SDK in ihre Systeme ein. Das ED-SDK bietet Funktionen zur Konfiguration der Kameraeinstellungen, zur Steuerung des Kameraaufnahmeverhaltens und zur Übertragung von Bildern von einer Kamera. Die Funktionen werden als API zur Verfügung gestellt und können von einer Softwareanwendung aufgerufen werden, die auf einem Host-PC läuft, welcher mit der Kamera verbunden ist. Das ED-SDK-Paket besteht aus SDK-Bibliotheksmodulen, API-Dokument, Programm-Headern und Beispielanwendungen.

Hinweis für Entwickler: Für das EOS Digitales SDK (ED-SDK) gibt es Beispielcode in C++, C# (für Windows), Objective-C, Swift (für MacOS), die im ED-SDK-Paket codiert sind. Auf Github gibt es Projekte für das ED-SDK.

Aber Canon bietet auch eine Kamerasteuerungs-API an – die CCAPI. Sie basiert auf der HTTP-Technologie und kann mittels IP-Protokoll über WLAN kommunizieren. So ist sie auf den verschiedenen Betriebssystemen lauffähig. Mit der CCAPI kann eine Host-Anwendung die Kameraeinstellungen konfigurieren, die Bildaufnahme auslösen, das Live-Bild oder ausgewählte Bilder von der Kamera abrufen. Spezielle Kamerabibliotheken sind nicht erforderlich, um mit einer CCAPI-fähigen Kamera zu kommunizieren. Eine Kamera mit aktivierter CCAPI-Funktionalität kann CCAPI-Anforderungen von einer Host-Anwendung direkt beantworten. Besonders hilfreich ist, dass über CCAPI mehrere Kameras gleichzeitig über ein Host-Gerät gesteuert werden können.

Kamera-Steuerung über CCAPI oder ED-SDK im Vergleich

Betriebssystem

Schnittstelle

Bibliotheken

ED-SKD

Die Bibliotheksmodule funktionieren unter Windows und MacOS.

Erfordert eine USB-Verbindung mit dem PC.

Um ED-SDK zu unterstützen, muss die Anwendung mit ED-SDK Dynamic Link Libraries (DLLs) verknüpft werden.

CCAPI

Arbeitet mit verschiedenen Betriebssystemen, z. B. iOS, Android oder Linux. Das Host-Betriebssystem muss die IP-Kommunikation und das HTTP-Protokoll unterstützen.

Verwendet eine WLAN-Verbindung zur Kommunikation mit dem Hostgerät.

Für die CCAPI sind keine speziellen Bibliotheken erforderlich.

Das ED-SDK unterstützt folgende Kameras:

EOS-1D C, EOS-1D Mark III, EOS-1Ds Mark III, EOS-1D Mark IV, EOS-1D X, EOS-1D X Mark II, EOS-1D X Mark III, EOS 5DS, EOS 5DS R, EOS R5, EOS R5 C, EOS R6, EOS 5D Mark II, EOS 5D Mark III, EOS 5D Mark IV, EOS 6D, EOS 6D Mark II, EOS 7D, EOS 7D Mark II, EOS 40D, EOS 50D, EOS 60D, EOS 70D, EOS 1200D, EOS 77D, EOS 1300D, EOS 80D, EOS 1500D, EOS 90D, EOS 3000D, EOS 100D, EOS M*, EOS 200D, EOS M2*, EOS 200D II, EOS M3*, EOS 250D, EOS 450D, EOS M5*, EOS 500D, EOS M6*, EOS 550D, EOS M6 Mark II, EOS 600D, EOS M10*, EOS 650D, EOS M50, EOS 700D, EOS M100*, EOS 750D, EOS M200, EOS 760D, EOSR5, EOS R6, EOS R, EOS 800D, EOS 850D, EOS RP, EOS 1000D, EOS 2000D, EOS 4000D, PowerShot G5 X Mark II, EOS 1100D, PowerShot G7 X Mark III, PowerShot SX70 HS.

Das CCAPI ist für diese Kameras verfügbar:

EOS-1D X Mark III, EOS RP (Firmware 1.1.0 oder höher), PowerShot SX70 HS (Firmware 1.1.0 oder höher), PowerShot G5 X Mark II, PowerShot G7 X Mark III

* Fernerfassungsfunktionen werden nicht unterstützt.

Das können die Canon-Kameras

Das können die Canon-Kameras

Ausgewählte Modelle zur SDK-Nutzung entdecken

Kameras von Canon sind durch das ED-SDK und das CCAPI überall einsetzbar, wo die Kamera extern gesteuert werden soll oder Aufnahmen automatisch an eine Software übergeben werden müssen, um Landschaftsbilder auszuwerten, Roboter zu steuern, Lagerbestände zu erfassen und vieles mehr. Die Vorteile der Canon-Kamera-Systeme aus dem Consumer-Bereich gegenüber Industriekameras sind die kompakten Abmessungen, die Vielseitigkeit und vor allem der Preis. Während Industriekameras mit den Leistungsdaten einer Canon mit DSLR-Bildqualität und über 50 Megapixel schnell bis zu EUR 25'000.– kosten, kostet eine Canon-Lösung nur einen Bruchteil davon.

  • Das Canon SDK wird auch bei neuen Kameramodellen nicht verändert, sondern lediglich erweitert oder an Updates von Betriebssystemen angepasst. Umrüstzeiten entfallen also.
  • Regelmässige Updates garantieren die hohe Funktionalität für ältere und aktuelle Canon-Modelle.
  • Das Canon SDK ist kompatibel mit Windows und Mac OS X; dank der standardisierten Datenprotokolle gelingt die Einbindung in alle gängigen Anwendungen, ganz gleich, in welcher Branche.

Das EOS Digital SDK und ein API stehen zum Download bereit unter didp.canon-europa.com. Das BRACK.CH Business-Team berät Sie gerne in Bezug auf Projekt-Konditionen für Canon-Kameras und Zubehör.

Überzeugen Sie sich von unseren Angeboten und kontaktieren Sie uns

ÖffnungszeitenMontag bis Freitag, 08.30 – 12.00 und 13.00 – 17.30 Uhr

Telefon Telefon: 062 889 60 06

E-Mail business@brack.ch

Website https://brack.ch/b2b