Depois de criar o conjunto de produtos e o conjunto de produtos ter sido indexado, pode consultar o conjunto de produtos através da API Cloud Vision.
Pesquisa de produtos correspondentes
Pode encontrar produtos semelhantes a uma determinada imagem transmitindo o URI do Google Cloud Storage, o URL da Web ou a string codificada em base64 da imagem para a API Vision Product Search. Consulte os Limites de utilização para saber o tamanho máximo do pedido e as informações da quota.
Consulte o tópico Compreender as respostas de pesquisa e a deteção múltipla para ver um exemplo de deteção de um único produto e deteção múltipla de produtos numa imagem.
Pesquise com uma imagem local
Os exemplos seguintes leem um ficheiro local e consultam a API incluindo inline os bytes de imagem não processados (imagem codificada em base64) no pedido.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- BASE64_ENCODED_IMAGE: a representação base64 (string ASCII) dos dados da imagem binária. Esta string deve ser semelhante à
seguinte string:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: o ID do conjunto de produtos no qual quer executar a operação.
Considerações específicas do campo:
features.maxResults
: o número máximo de resultados a devolver.imageContext.productCategories
- A categoria de produtos na qual pesquisar. Atualmente, só pode especificar uma categoria de produtos (artigos para o lar, vestuário, brinquedos, bens embalados e geral).imageContext.filter
- (Opcional) Uma expressão de filtragem de chave-valor (ou várias expressões) para a etiqueta do produto. Formato: "key
=value
". Os pares de chave-valor de filtragem podem ser associados com expressões AND ou OR: "color
=blue
ANDstyle
=mens
" ou "color
=blue
ORcolor
=black
". Se usar a expressão OR, todas as chaves na expressão têm de ser iguais.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON do pedido:
{ "requests": [ { "image": { "content": base64-encoded-image }, "features": [ { "type": "PRODUCT_SEARCH", "maxResults": 5 } ], "imageContext": { "productSearchParams": { "productSet": "projects/project-id/locations/location-id/productSets/product-set-id", "productCategories": [ "apparel" ], "filter": "style = womens" } } } ] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Se o pedido for bem-sucedido, o servidor devolve um código de estado HTTP 200 OK
e a resposta no formato JSON.
O JSON de resposta inclui os dois seguintes tipos de resultados:
productSearchResults
- Contém uma lista de produtos correspondentes para toda a imagem. Na resposta de exemplo, os produtos correspondentes são: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
- Contém as coordenadas da caixa delimitadora e os artigos correspondentes para cada produto identificado na imagem. Na resposta seguinte, existe apenas um produto identificado, seguido dos produtos correspondentes no conjunto de produtos de amostra: product_id65, product_id35, product_id34, product_id93 e product_id62.
Tenha em atenção que, embora exista uma sobreposição nos dois tipos de resultados, também podem existir diferenças (por exemplo, product_id32 e product_id93 na resposta).
Go
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Pesquise através de uma imagem remota
Também tem a opção de encontrar produtos semelhantes a uma determinada imagem especificando o URI do Cloud Storage para a imagem.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- CLOUD_STORAGE_IMAGE_URI: o caminho para um ficheiro de imagem válido num contentor do Cloud Storage. Tem de ter, pelo menos, privilégios de leitura para o ficheiro.
Exemplo:
gs://storage-bucket/filename.jpg
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: o ID do conjunto de produtos no qual quer executar a operação.
Considerações específicas do campo:
features.maxResults
: o número máximo de resultados a devolver.imageContext.productCategories
- A categoria de produtos na qual pesquisar. Atualmente, só pode especificar uma categoria de produtos (artigos para o lar, vestuário, brinquedos, bens embalados e geral).imageContext.filter
- (Opcional) Uma expressão de filtragem de chave-valor (ou várias expressões) para a etiqueta do produto. Formato: "key
=value
". Os pares de chave-valor de filtragem podem ser associados com expressões AND ou OR: "color
=blue
ANDstyle
=mens
" ou "color
=blue
ORcolor
=black
". Se usar a expressão OR, todas as chaves na expressão têm de ser iguais.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON do pedido:
{ "requests": [ { "image": { "source": { "gcsImageUri": "cloud-storage-image-uri" } }, "features": [ { "type": "PRODUCT_SEARCH", "maxResults": 5 } ], "imageContext": { "productSearchParams": { "productSet": "projects/project-id/locations/location-id/productSets/product-set-id", "productCategories": [ "apparel" ], "filter": "style = womens" } } } ] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Se o pedido for bem-sucedido, o servidor devolve um código de estado HTTP 200 OK
e a resposta no formato JSON.
O JSON de resposta inclui os dois seguintes tipos de resultados:
productSearchResults
- Contém uma lista de produtos correspondentes para toda a imagem. Na resposta de exemplo, os produtos correspondentes são: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
- Contém as coordenadas da caixa delimitadora e os artigos correspondentes para cada produto identificado na imagem. Na resposta seguinte, existe apenas um produto identificado, seguido dos produtos correspondentes no conjunto de produtos de amostra: product_id65, product_id35, product_id34, product_id93 e product_id62.
Tenha em atenção que, embora exista uma sobreposição nos dois tipos de resultados, também podem existir diferenças (por exemplo, product_id32 e product_id93 na resposta).
Go
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.