Depois de criar o conjunto de produtos e indexá-lo, será possível consultar o conjunto de produtos usando a API Cloud Vision.
Pesquisa de produtos correspondentes
É possível encontrar produtos semelhantes para uma determinada imagem. Passe o URI do Google Cloud Storage da imagem, o URL da Web ou a string codificada em base64 para a Pesquisa de produtos da API Vision. Para mais informações sobre a cota e o tamanho máximo da solicitação, consulte os Limites de uso.
Para um exemplo de detecção de um único produto e de detecção múltipla de produtos em uma imagem, consulte o tópico Noções básicas sobre respostas de pesquisa e detecção múltipla.
Pesquisar usando uma imagem local
As amostras a seguir leem um arquivo local e consultam a API fazendo a inserção dos bytes da imagem bruta (imagem codificada base64) na solicitação.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- BASE64_ENCODED_IMAGE: a representação
base64 (string ASCII) dos dados da imagem binária. Essa string precisa ser semelhante à seguinte:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID pelo ID do projeto no Google Cloud.
- LOCATION_ID: um identificador de local válido. Os identificadores de local válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: o ID do conjunto de produtos no qual você quer executar a operação.
Considerações específicas de campo:
features.maxResults
: o número máximo de resultados a serem retornados.imageContext.productCategories
: a categoria de produto para a pesquisa. No momento, só é possível especificar uma categoria, como produtos de casa, vestuário, brinquedos, produtos embalados e artigos em geral.imageContext.filter
: (Opcional) uma ou várias expressões de filtragem de chave-valor de rótulos de produto. Formato: "key
=value
". É possível vincular a filtragem de pares de chave-valor às expressões AND ou OR: "color
=blue
ANDstyle
=mens
" ou "color
=blue
ORcolor
=black
". Se estiver usando a expressão OR, todas as chaves nela precisam ser iguais.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON da solicitação:
{ "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 a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK
e a resposta no formato JSON.
A resposta JSON inclui os dois tipos de resultados a seguir:
productSearchResults
: contém uma lista de produtos correspondentes para a imagem inteira. Na resposta de amostra, os produtos correspondentes são: product_id65, product_id35, product_id34, product_id62 e product_id32.productGroupedResults
: contém as coordenadas da caixa delimitadora e os itens correspondentes de cada produto identificado na imagem. Na resposta a seguir, há apenas um produto identificado, seguido pelos produtos correspondentes no conjunto de amostra: product_id65, product_id35, product_id34, product_id93 e product_id62.
Há uma sobreposição nos dois tipos de resultados, mas também pode haver diferenças. Por exemplo, product_id32 e product_id93 na resposta.
Go
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de produtos da API Vision, consulte Bibliotecas de cliente do Pesquisa de produtos da API Vision. Para mais informações, consulte a documentação de referência da API Go do Product Search da API Vision.
Para se autenticar no Vision API Product Search, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de produtos da API Vision, consulte Bibliotecas de cliente do Pesquisa de produtos da API Vision. Para mais informações, consulte a documentação de referência da API Java do Product Search da API Vision.
Para se autenticar no Vision API Product Search, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de produtos da API Vision, consulte Bibliotecas de cliente do Pesquisa de produtos da API Vision. Para mais informações, consulte a documentação de referência da API Node.js do Product Search da API Vision.
Para se autenticar no Vision API Product Search, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de produtos da API Vision, consulte Bibliotecas de cliente do Pesquisa de produtos da API Vision. Para mais informações, consulte a documentação de referência da API Python do Product Search da API Vision.
Para se autenticar no Vision API Product Search, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência da Pesquisa de produtos da API Vision para .NET.
PHP: Siga as: Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência da Pesquisa de produtos da API Vision para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a Documentação de referência da Pesquisa de produtos da API Vision para Ruby.
Pesquisar usando uma imagem remota
Também é possível encontrar produtos semelhantes para uma determinada imagem especificando o URI do Cloud Storage para a imagem.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- CLOUD_STORAGE_IMAGE_URI: o caminho para um arquivo de imagem
válido em um bucket do Cloud Storage. Você precisa ter, pelo menos, privilégios de leitura para o arquivo.
Exemplo:
gs://storage-bucket/filename.jpg
- PROJECT_ID pelo ID do projeto do Google Cloud.
- LOCATION_ID: um identificador de local válido. Os identificadores de local válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: o ID do conjunto de produtos no qual você quer executar a operação.
Considerações específicas de campo:
features.maxResults
: o número máximo de resultados a serem retornados.imageContext.productCategories
: a categoria de produto para a pesquisa. No momento, só é possível especificar uma categoria, como produtos de casa, vestuário, brinquedos, produtos embalados e artigos em geral.imageContext.filter
: (Opcional) uma ou várias expressões de filtragem de chave-valor de rótulos de produto. Formato: "key
=value
". É possível vincular a filtragem de pares de chave-valor às expressões AND ou OR: "color
=blue
ANDstyle
=mens
" ou "color
=blue
ORcolor
=black
". Se estiver usando a expressão OR, todas as chaves nela precisam ser iguais.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON da solicitação:
{ "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 a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK
e a resposta no formato JSON.
A resposta JSON inclui os dois tipos de resultados a seguir:
productSearchResults
: contém uma lista de produtos correspondentes para a imagem inteira. Na resposta de amostra, os produtos correspondentes são: product_id65, product_id35, product_id34, product_id62 e product_id32.productGroupedResults
: contém as coordenadas da caixa delimitadora e os itens correspondentes de cada produto identificado na imagem. Na resposta a seguir, há apenas um produto identificado, seguido pelos produtos correspondentes no conjunto de amostra: product_id65, product_id35, product_id34, product_id93 e product_id62.
Há uma sobreposição nos dois tipos de resultados, mas também pode haver diferenças. Por exemplo, product_id32 e product_id93 na resposta.
Go
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de produtos da API Vision, consulte Bibliotecas de cliente do Pesquisa de produtos da API Vision. Para mais informações, consulte a documentação de referência da API Go do Product Search da API Vision.
Para se autenticar no Vision API Product Search, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de produtos da API Vision, consulte Bibliotecas de cliente do Pesquisa de produtos da API Vision. Para mais informações, consulte a documentação de referência da API Java do Product Search da API Vision.
Para se autenticar no Vision API Product Search, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de produtos da API Vision, consulte Bibliotecas de cliente do Pesquisa de produtos da API Vision. Para mais informações, consulte a documentação de referência da API Node.js do Product Search da API Vision.
Para se autenticar no Vision API Product Search, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de produtos da API Vision, consulte Bibliotecas de cliente do Pesquisa de produtos da API Vision. Para mais informações, consulte a documentação de referência da API Python do Product Search da API Vision.
Para se autenticar no Vision API Product Search, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência da Pesquisa de produtos da API Vision para .NET.
PHP: Siga as: Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência da Pesquisa de produtos da API Vision para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a Documentação de referência da Pesquisa de produtos da API Vision para Ruby.