Azure AI Vision ist eine künstliche Intelligenz, die es Softwaresystemen ermöglicht, visuelle Eingaben durch die Analyse von Bildern zu interpretieren. In diesem kleinen Tutorial wollen wir den Service zur Analyse genauer betrachten.
Das Ergebnis unserer programmatischen Analyse.
(Bild: Microsoft)
In Microsoft Azure stellt der „Azure AI Vision“-Dienst vorgefertigte Modelle für gängige visuelle Aufgaben bereit, einschließlich der Analyse von Bildern zum Vorschlagen von Bildunterschriften und Tags sowie der Erkennung gängiger Objekte und Personen. Der Dienst lässt sich unter anderem auch dafür verwenden, den Hintergrund von Bildern zu entfernen oder ein Thumbnail aus dem für das Bild relevanten Inhalt zu generieren.
Für dieses Beispiel nutzen wir Visual Studio Code, über das sich Microsofts GitHub-Learn-Repository für AI-Vision bequem klonen lässt. Als Ziel dient ein beliebiger Ordner auf dem Rechner. Anschließend ist es möglich, das geklonte Repository lokal zu öffnen.
Das Klonen des zugehörigen GitHub-Repository
(Bild: Drilling / Microsoft)
In folgendem Beispiel stellen wir eine bereits teilweise implementierte Client-Anwendung aus dem genannten Repository fertig, welche das Azure AI Vision SDK zum Analysieren von Bildern verwendet. Das SDK kann wahlweise in C# oder Python verwendet werden, wir verwenden C#.
Das Installieren der benötigen SDKs.
(Bild: Drilling / Microsoft)
Zunächst navigieren wir in Visual Studio Code im Explorer-Bereich zum Ordner „Labfiles/01-analyze-images“ und erweitern den Ordner „C-Sharp“. Es folgt ein Rechtklick auf den Ordner „image-analysis“, um diesen mit „in Integriertem Terminal öffnen“ im VS-Code-Terminal zu öffnen. Nun installieren wir das Azure AI Vision SDK-Paket für C# mit …
Das Anbinden der zugehörigen Endpunkte und Schlüssel in der appsettings-Datei.
(Bild: Drilling / Microsoft)
Der Ordner enthält für C# eine JSON-Konfigurationsdatei „appsettings.json“. Wir aktualisieren die darin enthaltenen Konfigurationswerte mit den Angaben zu „Endpunkt“ und einen „Authentifizierungsschlüssel“ der verwendeten „Azure AI Services“-Ressource und speichern die Anpassungen.
Das Importieren der erforderlichen Namespaces.
(Bild: Drilling / Microsoft)
Der Ordner enthält auch eine Code-Datei „Program.cs“ mit einer Client-Demo-Anwendung. Wir öffnen die Code-Datei und suchen oben unter den vorhandenen Namespace-Referenzen den Kommentar „// Import namespaces“. Hier gilt es, folgende Codezeilen hinzuzufügen, um die für die Verwendung von Azure AI Vision SD benötigten Namespaces zu importieren. Anschließend speichern wir die Datei.
using Azure.AI.Vision.Common; using Azure.AI.Vision.ImageAnalysis;
Das zu analysierende Bild in VS Code.
(Bild: Microsoft)
In diesem Beispiel nutzen wir den Dienst „Azure AI Vision“ zum Analysieren von Bildern. Wir erweitern in Visual Studio Code den Ordner „image-analysis“ und den darin enthaltenen Ordner „images“, der drei Bilder enthält. Wichtig ist zu prüfen, ob die Bilder korrekt in VS Code angezeigt werden.
Jetzt ist es möglich, das SDK zu verwenden, um den Vision-Dienst aufzurufen und ein Bild zu analysieren. In der Code-Datei für die Client-Anwendung (Program.cs) muss sichergestellt sein, dass über die Main-Funktion der Code zum Laden der Konfigurationseinstellungen bereitgestellt wurde. Unter dem Kommentar …
// Authenticate Azure AI Vision client
… fügen wir das folgende Code-Segment hinzu:
var cvClient = new VisionServiceOptions( aiSvcEndpoint, new AzureKeyCredential(aiSvcKey));
Das Authentifizieren des Azure AI Vision Clients.
(Bild: Drilling / Microsoft)
Hier gilt es zu beachten, dass der Code in der Main-Funktion unterhalb des soeben hinzugefügten Codes den Pfad zu einer Bilddatei angibt – und diesen dann an zwei weitere Funktionen („AnalyzeImage“) und („BackgroundForeground“) übergibt, die zum gegenwärtigen Zeitpunkt noch nicht vollständig implementiert sind.
Innerhalb des vorbereiteten Rumpfs der Funktion „AnalyzeImage“ fügen wir unter dem Kommentar „// Specify features to be retrieved“ folgenden Code hinzu:
Das Angeben der bei der Analyse zu nutzenden Features.
(Bild: Drilling / Microsoft)
Außerdem erweitern wir innerhalb des vorbereiteten Rumpfs die Funktion „AnalyzeImage“ unter dem Kommentar „//Get images analysis“ um folgenden Code:
// Get image analysis using var imageSource = VisionSource.FromFile(imageFile); using var analyzer = new ImageAnalyzer(serviceOptions, imageSource, analysisOptions);var result = analyzer.Analyze();if (result.Reason == ImageAnalysisResultReason.Analyzed) { // get image captions if (result.Caption != null) { Console.WriteLine(" Caption:"); Console.WriteLine($" \"{result.Caption.Content}\", Confidence {result.Caption.Confidence:0.0000}"); } //get image dense captions if (result.DenseCaptions != null) { Console.WriteLine(" Dense Captions:"); foreach (var caption in result.DenseCaptions) { Console.WriteLine($" \"{caption.Content}\", Confidence {caption.Confidence:0.0000}"); } Console.WriteLine($"\n"); } // Get image tags // Get objects in the image // Get people in the image } else { var errorDetails = ImageAnalysisErrorDetails.FromResult(result); Console.WriteLine(" Analysis failed."); Console.WriteLine($" Error reason : {errorDetails.Reason}"); Console.WriteLine($" Error code : {errorDetails.ErrorCode}"); Console.WriteLine($" Error message: {errorDetails.Message}\n");
Das Ergebnis unserer programmatischen Analyse.
(Bild: Microsoft)
Nach dem Speichern der Änderungen kehren wir zum integrierten Terminal für den Bildanalyse-Ordner zurück und geben den folgenden Befehl ein, um das Programm z. B. mit dem Argument „images/street.jpg“ aus diesem Ordner auszuführen:
Dieses kleine Beispiel dient in erster Linie als Anregung für weitere Experimente. Auf der verlinkten Seite finden sich auch noch weitere Code-Beispiele, z. B., um bestimmte Einzel-Objekte innerhalb eines Bildes zu lokalisieren und zu identifizieren oder Personen in einem Bild zu erkennen.
Wir werden in nächsten Teil dieser kleinen Serie demonstrieren, wie Programmierer und Programmiererinnen die KI-Funktionen nutzen können, um den Vordergrund eines Bildes automatisiert freizustellen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.