Il servizio di assegnazione tag colore, quando viene fornita un’immagine, può calcolare un istogramma dei colori pixel e ordinarli in base ai colori dominanti in contenitori. I colori nei pixel dell’immagine sono inseriti in 40 colori predominanti che sono rappresentativi dello spettro di colori. Viene quindi calcolato un istogramma di valori di colore tra questi 40 colori. Il servizio è disponibile in due varianti:
Assegnazione tag colore (immagine intera)
Questo metodo estrae un istogramma a colori sull'intera immagine.
Applicazione di tag colore (con maschera)
Questo metodo utilizza un sistema di estrazione in primo piano basato sull'apprendimento profondo per identificare gli oggetti in primo piano. Una volta estratti gli oggetti di primo piano, viene calcolato un istogramma sui colori dominanti sia per le regioni di primo piano che per quelle di sfondo, insieme all'intera immagine.
Estrazione del tono
Oltre alle varianti di cui sopra, puoi configurare il servizio per il recupero di un istogramma di toni per:
Nell'esempio riportato in questo documento è stata utilizzata l'immagine seguente:
Formato API
POST /services/v2/predict
Richiesta: variante immagine completa
La richiesta di esempio seguente utilizza il metodo dell’immagine intera per l’assegnazione di tag colore ed estrae i colori da un’immagine in base ai parametri di input forniti nel payload. Per ulteriori informazioni sui parametri di input mostrati, consulta la tabella seguente il payload di esempio.
curl -w'\n' -i -X POST https://sensei.adobe.io/services/v2/predict \
-H 'Prefer: respond-async, wait=59' \
-H "x-api-key: $API_KEY" \
-H "content-type: multipart/form-data" \
-H "authorization: Bearer $API_TOKEN" \
-F 'contentAnalyzerRequests={
"sensei:name": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72",
"sensei:invocation_mode": "synchronous",
"sensei:invocation_batch": false,
"sensei:engines": [
{
"sensei:execution_info": {
"sensei:engine": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72"
},
"sensei:inputs": {
"documents": [{
"sensei:multipart_field_name": "infile_1",
"dc:format": "image/jpg"
}]
},
"sensei:params": {
"top_n": 5,
"min_coverage": 0.005
},
"sensei:outputs":{
"result" : {
"sensei:multipart_field_name" : "result",
"dc:format": "application/json"
}
}
}
]
}' \
-F 'infile_1=@1431RDMJANELLERAWJACKE_2.jpg'
Risposta: variante immagine completa
In caso di esito positivo, la risposta restituisce i dettagli dei colori estratti. Ogni colore è rappresentato da un feature_value
key, che contiene le seguenti informazioni:
"White":{"coverage":0.5834,"rgb":{"red":254,"green":254,"blue":243}}
significa che il colore trovato è bianco, che si trova nel 58,34% dell’immagine e ha un valore RGB medio di 254, 254, 243.
{
"statuses": [{
"sensei:engine": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72",
"invocations": [{
"sensei:outputs": {
"result": {
"sensei:multipart_field_name": "result",
"dc:format": "application/json"
}
},
"message": null,
"status": "200"
}]
}],
"request_id": "bfpzaJxKDxtgxpjUj5QDrN1jasjUw2RM"
}
[{
"overall": {
"colors": {
"White": {
"coverage": 0.5834,
"rgb": {
"red": 254,
"green": 254,
"blue": 243
}
},
"Orange": {
"coverage": 0.254,
"rgb": {
"red": 249,
"green": 165,
"blue": 45
}
},
"Gold": {
"coverage": 0.0817,
"rgb": {
"red": 253,
"green": 188,
"blue": 58
}
},
"Mustard": {
"coverage": 0.0727,
"rgb": {
"red": 253,
"green": 207,
"blue": 84
}
},
"Cream": {
"coverage": 0.0082,
"rgb": {
"red": 253,
"green": 236,
"blue": 174
}
}
}
}
}]
Il risultato qui presenta un colore estratto nella regione "complessiva" dell’immagine.
Richiesta: variante immagine mascherata
Nell'esempio di richiesta seguente viene utilizzato il metodo di mascheramento per l'assegnazione di tag colore. Questa funzione è abilitata impostando enable_mask
parametro a true
nella richiesta.
curl -w'\n' -i -X POST https://sensei.adobe.io/services/v2/predict \
-H 'Prefer: respond-async, wait=59' \
-H "x-api-key: $API_KEY" \
-H "content-type: multipart/form-data" \
-H "authorization: Bearer $API_TOKEN" \
-F 'contentAnalyzerRequests={
"sensei:name": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72",
"sensei:invocation_mode": "synchronous",
"sensei:invocation_batch": false,
"sensei:engines": [
{
"sensei:execution_info": {
"sensei:engine": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72"
},
"sensei:inputs": {
"documents": [{
"sensei:multipart_field_name": "infile_1",
"dc:format": "image/jpg"
}]
},
"sensei:params": {
"top_n": 5,
"min_coverage": 0.005,
"enable_mask": true,
"retrieve_tone": true
},
"sensei:outputs":{
"result" : {
"sensei:multipart_field_name" : "result",
"dc:format": "application/json"
}
}
}
]
}' \
-F 'infile_1=@1431RDMJANELLERAWJACKE_2.jpg'
Inoltre, il retrieve_tone
Il parametro è impostato anche su true
nella richiesta precedente. Questo consente di recuperare un istogramma di distribuzione del tono su toni caldi, neutri e freddi nelle aree generali, di primo piano e di sfondo dell'immagine.
Risposta - Variante immagine mascherata
{
"statuses": [{
"sensei:engine": "Feature:autocrop:Service-af865523d46547e2b17fdf9b38e32a72",
"invocations": [{
"sensei:outputs": {
"result": {
"sensei:multipart_field_name": "result",
"dc:format": "application/json"
}
},
"message": null,
"status": "200"
}]
}],
"request_id": "gpeCyJsrJvOWd94WwZOyPBPrKi2BQyla"
}
[{
"overall": {
"colors": {
"White": {
"coverage": 0.5834,
"rgb": {
"red": 254,
"green": 254,
"blue": 243
}
},
"Orange": {
"coverage": 0.254,
"rgb": {
"red": 249,
"green": 165,
"blue": 45
}
},
"Gold": {
"coverage": 0.0817,
"rgb": {
"red": 253,
"green": 188,
"blue": 58
}
},
"Mustard": {
"coverage": 0.0727,
"rgb": {
"red": 253,
"green": 207,
"blue": 84
}
},
"Cream": {
"coverage": 0.0082,
"rgb": {
"red": 253,
"green": 236,
"blue": 174
}
}
},
"tones": {
"warm": 0.4084,
"neutral": 0.5916,
"cool": 0
}
},
"foreground": {
"colors": {
"Orange": {
"coverage": 0.6022,
"rgb": {
"red": 249,
"green": 165,
"blue": 45
}
},
"Gold": {
"coverage": 0.1935,
"rgb": {
"red": 253,
"green": 188,
"blue": 58
}
},
"Mustard": {
"coverage": 0.1722,
"rgb": {
"red": 253,
"green": 207,
"blue": 84
}
},
"Cream": {
"coverage": 0.0173,
"rgb": {
"red": 253,
"green": 235,
"blue": 170
}
},
"Yellow": {
"coverage": 0.0148,
"rgb": {
"red": 254,
"green": 229,
"blue": 117
}
}
},
"tones": {
"warm": 0.9827,
"neutral": 0.0173,
"cool": 0
}
},
"background": {
"colors": {
"White": {
"coverage": 0.9923,
"rgb": {
"red": 254,
"green": 254,
"blue": 243
}
},
"Dark_Brown": {
"coverage": 0.0077,
"rgb": {
"red": 83,
"green": 68,
"blue": 57
}
}
},
"tones": {
"warm": 0,
"neutral": 1.0,
"cool": 0
}
}
}]
Oltre ai colori dell'immagine complessiva, è ora possibile visualizzare anche i colori delle aree di primo piano e di sfondo. Poiché il recupero del tono è abilitato per ciascuna delle regioni sopra indicate, è anche possibile recuperare l'istogramma di un tono.
Parametri di input
Nome | Tipo di dati | Obbligatorio | Impostazione predefinita | Valori | Descrizione |
---|---|---|---|---|---|
documents |
array (Document-Object) | Sì | - | Vedi sotto | Elenco di elementi JSON con ogni elemento nell’elenco che rappresenta un documento. |
top_n |
number | No | 0 | Numero intero non negativo | Numero di risultati da restituire. 0, per restituire tutti i risultati. Se utilizzato insieme a threshold, il numero di risultati restituiti sarà inferiore a uno dei due limiti. |
min_coverage |
number | No | 0.05 | Numero reale | Soglia di copertura oltre la quale i risultati devono essere restituiti. Escludi parametro per restituire tutti i risultati. |
resize_image |
number | No | True | Vero/Falso | Indica se ridimensionare o meno l'immagine di input. Per impostazione predefinita, le immagini vengono ridimensionate a 320*320 pixel prima dell'esecuzione dell'estrazione del colore. A scopo di debug, possiamo consentire l’esecuzione del codice anche sull’immagine intera impostandola su False . |
enable_mask |
number | No | False | Vero/Falso | Attiva/disattiva l'estrazione del colore |
retrieve_tone |
number | No | False | Vero/Falso | Attiva/disattiva l'estrazione del tono |
Oggetto Document
Nome | Tipo di dati | Obbligatorio | Impostazione predefinita | Valori | Descrizione |
---|---|---|---|---|---|
repo:path |
string | - | - | - | URL predefinito del documento. |
sensei:repoType |
string | - | - | HTTPS | Tipo di archivio in cui viene memorizzata l’immagine. |
sensei:multipart_field_name |
string | - | - | - | Utilizzalo quando trasmetti il file immagine come argomento multipart invece di utilizzare URL prefirmati. |
dc:format |
string | Sì | - | "image/jpg", image/jpeg "image/png", "image/tiff" |
La codifica dell’immagine viene verificata in base ai tipi di codifica di input consentiti prima dell’elaborazione. |