Einführung in cloud recognition APIs
API-Liste
- Target image erstellen
- Target image-Liste einer Bildbibliothek
- Ein einzelnes target image abrufen
- Schwierigkeitsbewertung der Bilderkennbarkeit
- Vorhandene ähnliche target images
- Target image löschen
- Eigenschaften eines target image ändern
- Bildsuche per Bild
- Health check
REST API-Schnittstellenprotokoll und Authentifizierungsmechanismus
CRS API folgt dem standardmäßigen HTTP REST-Transportstandard.
Http Header
Authorization: <Token eintragen, der aus APIKey abgerufen wurde>
Http-Anfrageparameter sind in zwei Typen unterteilt:
Allgemeine Parameter (umfassen alle folgenden; verschiedene Authentifizierungsmethoden verwenden unterschiedliche Kombinationen):
- appId
- timestamp (Long-Ganzzahl: seit 00:00:00 UTC am 1. Januar 1970 vergangene Millisekunden)
- apiKey
- signature (Anfragesignatur, Alternative zur Token-Authentifizierung)
CRS API-Parameter: Parameter der API selbst
Die API-Dokumentation beschreibt die für die Authentifizierung verwendeten allgemeinen Parameter nicht mehr
API Key-Authentifizierung
Die Authentifizierung ist in zwei Typen unterteilt:
Token-basierte Authentifizierung
Der Http header Authorization enthält den Token. Allgemeine Parameter umfassen:
- appId
Signaturauthentifizierung
Es wird kein Http header Authorization verwendet.
Die allgemeinen Parameter enthalten signature-Informationen. Alle Parameter werden in die Signaturberechnung einbezogen, außer Bilder.
- appId
- timestamp
- apiKey
- signature
Den detaillierten Algorithmus und Code zur Signaturberechnung finden Sie unter API Key-Signaturmethode.
Nutzungsbeispiele und Eigenschaftsanalyse
API-Nutzungsbeispiel
Dieses Beispiel ruft eine API zum Erstellen eines target image auf und hilft Entwicklern, den Anfrageprozess der CRS API, die Eigenschaftsstruktur eines target image sowie Ein- und Ausgabe der Schnittstelle zu verstehen.
In der Produktionsumgebung sind vor dem Erstellen eines target image weitere Prüfungen erforderlich. Weitere Informationen zum Erstellen eines neuen target image finden Sie in den best practices.
Anfragebeispiel
Fügen Sie eine target image-Datei namens test-target.jpg hinzu. Beim Erstellen eines target image muss die Bilddatei base64-codiert werden.
Die API-Dokumentation beschreibt die Anfrageparameter ausführlich. Siehe API - Target image erstellen, um die API mit einer base64-codierten Bilddatei anzufordern.
POST /targets HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
"image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
"active":"1",
"name":"easyar",
"size":"5",
"meta":"496fbbabc2b38ecs3460a...",
"type":"ImageTarget",
"timestamp": 1514736000000,
"apiKey": "8b485c648c3056e79c2a85ee9b51f9dc",
"appId": "C:CN1:f9f903c36da8bd64d71d491077bba...",
"signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}
Antwortbeispiel
HTTP/1.1 200 OK
Content-Type: application/json
{
"statusCode": 0,
"result": {
"targetId":"e61db301-e80f-4025-b822-9a00eb48d8d2",
"trackingImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
"name": "easyar",
"size": "5",
"meta": "496fbbabc2b38ecs3460a...",
"type": "ImageTarget",
"modified":1514735000000
"active":"1",
"trackableRate": 0,
"detectableRate": 0,
“detectableDistinctiveness”:0,
"detectableFeatureCount": 0,
"trackableDistinctiveness": 0,
"trackableFeatureCount": 0,
"trackableFeatureDistribution": 0,
"trackablePatchContrast": 0,
"trackablePatchAmbiguity": 0
},
"timestamp": 1514736000000
}
Antwortformat
Alle Antworten verwenden ein einheitliches Format. Das folgende Beispiel zeigt dies:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //result ist nur vorhanden, wenn statusCode 0 ist. Bei einem Fehler ist das Ergebnisfeld leer
}
Wie im obigen Beispiel gezeigt, ist dies die normale zurückgegebene Detailstruktur eines target image. Ein target image enthält die folgenden Eigenschaften.
| Eigenschaft | Beschreibung |
|---|---|
| targetId | Eindeutige Id des target image |
| trackingImage | Base64-Codierung des verarbeiteten Graustufenbildes, verwendet für image tracking auf der Geräteseite |
| name | Name des target image |
| size | Bildgröße, die praktische Größe für das Überlagern virtueller Inhalte in der Anwendung |
| meta | Vom Benutzer verknüpfte Daten, die Datei, Text oder url sein können und base64-codiert werden müssen |
| type | "ImageTarget" |
| active | Nur aktivierte target images können erkannt werden. Nach der Deaktivierung werden sie nicht mehr erkannt |
| trackableRate | Schwierigkeitsbewertung für tracking. Je kleiner, desto besser |
| detectableRate | Gesamtbewertung der Schwierigkeit für recognition. Je kleiner, desto besser |
| detectableDistinctiveness | Schwierigkeitsbewertung der Unterscheidbarkeit für recognition. Je kleiner, desto besser |
| detectableFeatureCount | Schwierigkeitsbewertung der Merkmale für recognition. Je kleiner, desto besser |
| trackableDistinctiveness | Schwierigkeitsbewertung der Unterscheidbarkeit für tracking. Je kleiner, desto besser |
| trackableFeatureCount | Schwierigkeitsbewertung der Merkmale für tracking. Je kleiner, desto besser |
| trackableFeatureDistribution | Schwierigkeitsbewertung der Merkmalsverteilung für tracking. Je kleiner, desto besser |
Fehlercodes
Beschreibung der Fehlercodes der cloud recognition APIs