Introduzione alle API di cloud recognition
Elenco API
- Creare target image
- Elenco dei target image della libreria immagini
- Ottenere un singolo target image
- Valutazione della difficoltà di recognizability dell'immagine
- Target image simili esistenti
- Eliminare target image
- Modificare le proprietà di target image
- Ricerca per immagine
- Health check
Protocollo dell'interfaccia REST API e meccanismo di autenticazione
CRS API segue lo standard di trasporto HTTP REST.
Http Header
Authorization:
Parametri della richiesta Http, divisi in due tipi:
Parametri comuni (includono tutti questi; metodi di autenticazione diversi usano combinazioni diverse):
- appId
- timestamp (intero Long: millisecondi trascorsi dalle 00:00:00 UTC del 1 gennaio 1970)
- apiKey
- signature (firma della richiesta, alternativa all'autenticazione token)
Parametri CRS API: parametri propri dell'API
La documentazione API non descrive più i parametri comuni usati per l'autenticazione
Autenticazione API Key
I metodi di autenticazione sono divisi in due tipi:
Autenticazione basata su Token
L'Http header Authorization contiene il Token. I parametri comuni includono:
- appId
Autenticazione con signature
Non viene usato Http header Authorization.
I parametri comuni contengono informazioni signature. Tutti i parametri partecipano al calcolo della firma, ad eccezione delle immagini.
- appId
- timestamp
- apiKey
- signature
Per l'algoritmo dettagliato e il codice del calcolo della firma, fare riferimento al documento metodo signature di API Key.
Esempi d'uso e analisi delle proprietà
Esempio d'uso API
Questo esempio richiama un'API per creare un target image, aiutando gli sviluppatori a comprendere il processo di richiesta CRS API, la struttura delle proprietà del target image e l'input e output dell'interfaccia.
In ambiente di produzione sono necessarie più verifiche prima di creare un target image. Per i dettagli, fare riferimento alle best practice per creare un nuovo target image.
Esempio di richiesta
Aggiungere un file target image chiamato test-target.jpg. Durante la creazione di un target image, il file immagine deve essere codificato in base64.
La documentazione API descrive in dettaglio i parametri della richiesta. Fare riferimento a API - Creare target image per richiedere l'API con il file immagine codificato in base64.
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"
}
Esempio di risposta
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
}
Formato della risposta
Le risposte usano tutte un formato unificato. Di seguito è riportato un esempio:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //result esiste solo quando statusCode è 0. Se si verifica un errore, il campo result è vuoto
}
Come mostrato nell'esempio sopra, questa è la normale struttura dettagliata del target image restituita. Un target image include le seguenti proprietà.
| Proprietà | Descrizione |
|---|---|
| targetId | Id univoco del target image |
| trackingImage | Codifica base64 dell'immagine in scala di grigi elaborata, usata per image tracking sul lato dispositivo |
| name | Nome del target image |
| size | Dimensione immagine, la dimensione pratica usata per sovrapporre contenuti virtuali nell'applicazione |
| meta | Dati associati dall'utente, che possono essere file, testo o url e devono essere codificati in base64 |
| type | "ImageTarget" |
| active | Solo i target image abilitati possono essere riconosciuti. Dopo la disattivazione non saranno riconosciuti |
| trackableRate | Punteggio di difficoltà del tracking. Più piccolo è, meglio è |
| detectableRate | Punteggio di difficoltà complessiva della recognition. Più piccolo è, meglio è |
| detectableDistinctiveness | Punteggio di difficoltà della distinguibilità nella recognition. Più piccolo è, meglio è |
| detectableFeatureCount | Punteggio di difficoltà delle feature nella recognition. Più piccolo è, meglio è |
| trackableDistinctiveness | Punteggio di difficoltà della distinguibilità nel tracking. Più piccolo è, meglio è |
| trackableFeatureCount | Punteggio di difficoltà delle feature nel tracking. Più piccolo è, meglio è |
| trackableFeatureDistribution | Punteggio di difficoltà della distribuzione delle feature nel tracking. Più piccolo è, meglio è |
Codici di errore
Descrizione dei codici di errore delle cloud recognition APIs