Introdução às APIs de reconhecimento em nuvem
Api completa
- Criar imagem alvo
- Lista de imagens alvo na galeria
- Obter uma única imagem alvo
- Classificação de dificuldade de reconhecimento de imagem
- Imagens alvo semelhantes existentes
- Excluir imagem alvo
- Modificar propriedades da imagem alvo
- Pesquisar imagem por imagem
- Verificação de integridade
Protocolo de interface REST API e mecanismo de autenticação
As APIs CRS seguem os padrões de transmissão HTTP REST.
Cabeçalho HTTP
Authorization:
Parâmetros de solicitação HTTP, divididos em dois tipos:
Parâmetros comuns (incluindo estes, diferentes combinações de autenticação usam diferentes):
- appId
- timestamp (Longo: milissegundos decorridos desde 1º de janeiro de 1970, 00:00:00 UTC)
- apiKey
- signature (assinatura da solicitação, autenticação por token é uma opção)
Parâmetros da API CRS: parâmetros próprios da API
A documentação da API não descreve mais os parâmetros comuns para autenticação
Autenticação por API Key
Os métodos de autenticação são dois:
Autenticação baseada em token
O cabeçalho HTTP Authorization contém o Token, os parâmetros comuns incluem:
- appId
Autenticação por assinatura
Sem usar o cabeçalho HTTP Authorization.
Os parâmetros comuns contêm informações de assinatura signature. Todos os parâmetros são incluídos no cálculo da assinatura (exceto imagens).
- appId
- timestamp
- apiKey
- signature
Para algoritmos detalhados e códigos de cálculo de assinatura, consulte o documento Método de assinatura API Key.
Exemplos de uso e análise de propriedades
Exemplo de uso da API
Aqui está um exemplo - chamando a interface da API para criar uma imagem alvo, ajudando os desenvolvedores a entender o processo de solicitação da API CRS, a estrutura de propriedades da imagem alvo e as entradas/saídas da interface.
Antes de criar uma imagem alvo em ambiente de produção, mais verificações são necessárias. Consulte as melhores práticas para criar uma nova imagem alvo.
Exemplo de solicitação
Adicione um novo arquivo de imagem alvo test-target.jpg. Ao criar a imagem alvo, o arquivo de imagem deve ser codificado em base64.
A documentação da API explicará detalhadamente os parâmetros da solicitação. Consulte API —— Criar imagem alvo, arquivo de imagem codificado em base64 solicitando a API.
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"
}
Exemplo de resposta
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 de resposta
As respostas seguem um formato unificado. Aqui está um exemplo:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //statusCode 0 tem result, se erro, campo vazio
}
Como mostrado no exemplo acima, esta é a estrutura de detalhes normal da imagem alvo. Uma imagem alvo inclui as seguintes propriedades
| Propriedade | Descrição |
|---|---|
| targetId | ID único da imagem alvo |
| trackingImage | Imagem em tons de cinza processada codificada em base64, usada para rastreamento de imagem no dispositivo |
| name | Nome da imagem alvo |
| size | Tamanho da imagem, tamanho prático para sobreposição de conteúdo virtual |
| meta | Dados associados pelo usuário, podem ser arquivos, texto ou URL, necessitam codificação base64 |
| type | "ImageTarget" |
| active | Imagens alvo ativadas podem ser reconhecidas, desativadas não serão reconhecidas |
| trackableRate | Pontuação de dificuldade de rastreamento, menor é melhor |
| detectableRate | Pontuação geral de dificuldade de reconhecimento, menor é melhor |
| detectableDistinctiveness | Pontuação de dificuldade de distinção no reconhecimento, menor é melhor |
| detectableFeatureCount | Pontuação de dificuldade de recursos no reconhecimento, menor é melhor |
| trackableDistinctiveness | Pontuação de dificuldade de distinção no rastreamento, menor é melhor |
| trackableFeatureCount | Pontuação de dificuldade de recursos no rastreamento, menor é melhor |
| trackableFeatureDistribution | Pontuação de dificuldade de distribuição de recursos no rastreamento, menor é melhor |
Códigos de erro
Explicação dos códigos de erro das APIs de reconhecimento em nuvem