Introduction aux apis de reconnaissance cloud
Api complète
- Créer une cible d'image
- Liste des cibles d'image de la galerie
- Obtenir une cible d'image unique
- Évaluation de la difficulté de reconnaissance d'image
- Cibles d'image similaires existantes
- Supprimer une cible d'image
- Modifier les propriétés d'une cible d'image
- Recherche d'image par image
- Contrôle d'intégrité
Protocole d'interface api rest et mécanisme d'authentification
L'api crs suit la norme de transmission http rest standard.
En-tête http
Authorization:
Paramètres de requête http, de deux types:
Paramètres publics (inclus globalement, différentes combinaisons selon l'authentification):
- appId
- timestamp (Long type entier: millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC)
- apiKey
- signature (signature de requête, alternative au jeton d'authentification)
Paramètres de l'api crs: paramètres spécifiques à l'api
Les paramètres publics d'authentification ne sont plus décrits dans la documentation de l'api
Authentification par clé api
Deux méthodes d'authentification:
Authentification basée sur jeton
L'en-tête http Authorization contient le token. Paramètres publics inclus:
- appId
Authentification par signature
Sans en-tête http Authorization.
Les paramètres publics contiennent la signature. Tous les paramètres sont inclus dans le calcul de signature (sauf les images).
- appId
- timestamp
- apiKey
- signature
Pour l'algorithme détaillé et les exemples de code, référez-vous à Méthode de signature par clé api.
Exemples d'utilisation et analyse des propriétés
Exemple d'utilisation d'api
Un exemple - appeler l'api pour créer une cible d'image - aide les développeurs à comprendre le processus de requête api crs, la structure des propriétés de la cible, et les entrées/sorties de l'interface.
En production, plus de validations sont nécessaires avant la création. Référez-vous aux bonnes pratiques pour créer une nouvelle cible d'image.
Exemple de requête
Ajouter un fichier image cible test-target.jpg. Lors de la création, le fichier image doit être encodé en base64.
La documentation api décrit en détail les paramètres de requête. Voir API - Créer une cible d'image, requête api avec encodage 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"
}
Exemple de réponse
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
}
Format de réponse
Réponses dans un format unifié. Exemple:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //présent uniquement si statusCode=0, vide en cas d'erreur
}
Comme dans l'exemple, structure normale des détails d'une cible, incluant ces propriétés:
| Propriété | Description |
|---|---|
| targetId | ID unique de la cible |
| trackingImage | Encodage base64 de l'image en niveaux de gris traitée, pour le suivi d'image côté appareil |
| name | Nom de la cible |
| size | Taille de l'image, dimension utilisée pour superposer du contenu virtuel |
| meta | Données associées utilisateur (fichier, texte ou url), encodées en base64 |
| type | "ImageTarget" |
| active | Les cibles activées sont détectables, les désactivées ne le sont plus |
| trackableRate | Évaluation de la difficulté de suivi, plus bas=meilleur |
| detectableRate | Évaluation globale de difficulté de détection, plus bas=meilleur |
| detectableDistinctiveness | Évaluation de la difficulté de distinction en détection, plus bas=meilleur |
| detectableFeatureCount | Évaluation de la difficulté liée aux caractéristiques de détection, plus bas=meilleur |
| trackableDistinctiveness | Évaluation de la difficulté de distinction en suivi, plus bas=meilleur |
| trackableFeatureCount | Évaluation de la difficulté liée aux caractéristiques de suivi, plus bas=meilleur |
| trackableFeatureDistribution | Évaluation de la difficulté de distribution des caractéristiques de suivi, plus bas=meilleur |
Codes d'erreur
Explication des codes d'erreur des apis de reconnaissance cloud