Analysieren eines Bilds
Nachdem Sie eine Verbindung mit Ihrem Azure Vision-Ressourcenendpunkt hergestellt haben, kann Ihre Clientanwendung den Dienst verwenden, um Bildanalyseaufgaben auszuführen.
Beachten Sie die folgenden Anforderungen für die Bildanalyse:
- Das Bild muss im JPEG-, PNG-, GIF- oder BMP-Format angezeigt werden.
- Die Dateigröße des Bilds muss kleiner als 4 MB sein.
- Das Bild muss größer als 50 x 50 Pixel sein.
Übermitteln eines Bilds für die Analyse
Zum Analysieren eines Bilds können Sie die Analyze Image REST-Methode oder die entsprechende Methode im SDK für Ihre bevorzugte Programmiersprache verwenden und dabei die visuellen Features angeben, die Sie in die Analyse einbeziehen möchten.
from azure.ai.vision.imageanalysis import ImageAnalysisClient
from azure.ai.vision.imageanalysis.models import VisualFeatures
from azure.core.credentials import AzureKeyCredential
client = ImageAnalysisClient(
endpoint="<YOUR_RESOURCE_ENDPOINT>",
credential=AzureKeyCredential("<YOUR_AUTHORIZATION_KEY>")
)
result = client.analyze(
image_data=<IMAGE_DATA_BYTES>, # Binary data from your image file
visual_features=[VisualFeatures.CAPTION, VisualFeatures.TAGS],
gender_neutral_caption=True,
)
Anmerkung
In diesem Codebeispiel verwendet die Client-App die schlüsselbasierte Authentifizierung. Um die Microsoft Entra ID-Authentifizierung zu verwenden, können Sie anstelle von AzureKeyCredential eine TokenCredential verwenden.
Im Codebeispiel werden die Bilddaten als binäres Objekt übermittelt (normalerweise aus einer Bilddatei gelesen). Sie können ein Bild auch anhand einer URL analysieren, indem Sie die analyze_from_url-Methode verwenden.
Verfügbare visuelle Features sind in der VisualFeatures Enumeration enthalten:
- VisualFeatures.TAGS: Identifiziert Tags zum Bild, einschließlich Objekten, Landschaften, Einstellungen und Aktionen
- VisualFeatures.OBJECTS: gibt den Begrenzungsrahmen für jedes erkannte Objekt zurück.
- VisualFeatures.CAPTION: Generiert eine Beschriftung des Bilds in natürlicher Sprache.
- VisualFeatures.DENSE_CAPTIONS: Generiert detailliertere Beschriftungen für die erkannten Objekte.
- VisualFeatures.PEOPLE: gibt den Begrenzungsrahmen für erkannte Personen zurück.
- VisualFeatures.SMART_CROPS: gibt das umgebende Feld des angegebenen Seitenverhältnisses für den interessanten Bereich zurück.
- VisualFeatures.READ: Extrahiert lesbaren Text
using Azure.AI.Vision.ImageAnalysis;
ImageAnalysisClient client = new ImageAnalysisClient(
"<YOUR_RESOURCE_ENDPOINT>",
new AzureKeyCredential("<YOUR_AUTHORIZATION_KEY>"));
ImageAnalysisResult result = client.Analyze(
<IMAGE_DATA_BYTES>, // Binary data from your image file
VisualFeatures.Caption | VisualFeatures.Tags,
new ImageAnalysisOptions { GenderNeutralCaption = true });
Anmerkung
In diesem Codebeispiel verwendet die Client-App die schlüsselbasierte Authentifizierung. Um die Microsoft Entra ID-Authentifizierung zu verwenden, können Sie anstelle von AzureKeyCredential eine TokenCredential verwenden.
Im Codebeispiel werden die Bilddaten als binäres Objekt übermittelt (normalerweise aus einer Bilddatei gelesen). Sie können ein Bild auch basierend auf einer URL analysieren.
Verfügbare visuelle Features sind in der VisualFeatures Enumeration enthalten:
- VisualFeatures.Tags: Identifiziert Tags zu dem Bild, einschließlich Objekte, Landschaften, Umgebung und Aktionen.
- VisualFeatures.Objects: gibt den Begrenzungsrahmen für jedes erkannte Objekt zurück.
- VisualFeatures.Caption: Generiert eine Beschriftung des Bilds in natürlicher Sprache.
- VisualFeatures.DenseCaptions: Generiert detailliertere Beschriftungen für die erkannten Objekte.
- VisualFeatures.People: gibt den Umgrenzungsrahmen für erkannte Personen zurück.
- VisualFeatures.SmartCrops: gibt das umgebende Feld des angegebenen Seitenverhältnisses für den Bereich von Interesse zurück.
- VisualFeatures.Read: Extrahiert lesbaren Text
Die Angabe der visuellen Features, die Sie im Bild analysieren möchten, bestimmt, welche Informationen die Antwort enthalten soll. Die meisten Antworten enthalten ein umgebendes Feld (wenn eine Position im Bild angemessen ist) oder eine Konfidenzbewertung (für Features wie Tags oder Untertitel).
Verarbeiten der Antwort
Diese Methode gibt ein JSON-Dokument zurück, das die angeforderten Informationen enthält. Die JSON-Antwort für die Bildanalyse ähnelt diesem Beispiel, je nach den angeforderten Features:
{
"apim-request-id": "abcde-1234-5678-9012-f1g2h3i4j5k6",
"modelVersion": "<version>",
"denseCaptionsResult": {
"values": [
{
"text": "a house in the woods",
"confidence": 0.7055229544639587,
"boundingBox": {
"x": 0,
"y": 0,
"w": 640,
"h": 640
}
},
{
"text": "a trailer with a door and windows",
"confidence": 0.6675070524215698,
"boundingBox": {
"x": 214,
"y": 434,
"w": 154,
"h": 108
}
}
]
},
"metadata": {
"width": 640,
"height": 640
}
}