ForHosting KIT · Immagini e foto

Calcoli l’istogramma di ogni canale di un’immagine

Il calcolatore di istogrammi trasforma i valori dei pixel separati per canale in distribuzioni di frequenza compatte.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.

Indichi uno o più canali con nome, scelga il numero di intervalli e riceva un elenco ordinato di conteggi per ciascun canale. È utile quando l’immagine è già stata decodificata e Lei desidera statistiche riproducibili senza caricare o ricodificare il file originale. Ogni valore viene verificato nell’intervallo a 8 bit, ogni pixel appartiene a un solo intervallo e una lista vuota produce un errore.

Prepari i valori dei canali

Fornisca i pixel decodificati nell’array channels. Ogni elemento deve includere un nome di canale univoco e un array values con intensità intere da 0 a 255. I nomi red, green, blue, alpha e gray sono comuni, ma il calcolatore non impone un modello cromatico: è ammesso qualsiasi componente che utilizzi lo stesso dominio a 8 bit. L’ordine dei valori non modifica l’istogramma, perché conta soltanto la frequenza. Ogni canale deve contenere almeno un pixel. La richiesta viene rifiutata se l’elenco esterno o un array values è vuoto, se un nome manca o è duplicato, oppure se un valore è frazionario o fuori dall’intervallo. Questi controlli evitano che dati incompleti sembrino una distribuzione valida. Sono ammessi fino a sedici canali e un milione di valori per canale.

Comprenda l’assegnazione agli intervalli

Scelga un numero intero di intervalli da 1 a 256, oppure ometta il campo per usarne 16. L’intero dominio delle intensità a 8 bit viene suddiviso in fasce di uguale ampiezza, da 0 a 255. Con 16 intervalli, il primo conta i valori da 0 a 15, il secondo da 16 a 31 e l’ultimo da 240 a 255. In generale, l’indice è la parte intera inferiore del valore moltiplicato per il numero di intervalli e diviso per 256. Il limite superiore viene conservato esplicitamente nell’ultima fascia, quindi 255 non rimane mai escluso. La definizione è deterministica anche quando il numero scelto non divide 256 in modo uniforme. Ogni pixel incrementa un solo contatore e la somma dei conteggi coincide con pixel_count.

Legga, confronti e verifichi il risultato

La risposta riporta bins, i limiti fissi value_min e value_max e un oggetto istogramma per ogni canale in ingresso. Ciascun oggetto conserva il nome, indica pixel_count e restituisce counts in ordine crescente di intensità. La prima posizione rappresenta sempre la fascia più scura e l’ultima quella più chiara, facilitando grafici e confronti. Sommi counts e verifichi che il totale corrisponda a pixel_count: l’algoritmo garantisce tale proprietà e il controllo può rivelare troncamenti avvenuti altrove. Gli istogrammi descrivono frequenze, non la disposizione spaziale, quindi immagini molto diverse possono produrre lo stesso risultato. La capacità non decodifica file, non identifica spazi colore, non normalizza l’esposizione e non unisce canali. Decodifichi prima la sorgente e usi questo strumento per il conteggio. Nel browser i dati restano locali; l’automazione API costa $0.002 per richiesta.

Confrontare le distribuzioni cromatiche

Generi conteggi omogenei per rosso, verde e blu prima di misurare le differenze tra immagini decodificate.

Individuare estremi di esposizione

Esamini le prime e le ultime fasce per riconoscere canali dominati da ombre o alte luci.

Verificare una pipeline di elaborazione

Registri istogrammi deterministici prima e dopo una trasformazione per rilevare variazioni tonali impreviste.

Qual è il costo?

L’esecuzione tramite API costa $0.002 per richiesta. Lo stesso calcolo deterministico è disponibile anche nel browser.

Quali valori dei pixel sono accettati?

Ogni valore deve essere un intero da 0 a 255, come previsto per un canale d’immagine a 8 bit.

Che cosa accade se una lista di pixel è vuota?

La richiesta termina con un errore di input non valido; una lista vuota non genera un istogramma pieno di zeri.

Come vengono assegnati i valori se gli intervalli non dividono 256?

L’indice usa la parte intera inferiore di value moltiplicato per bins e diviso per 256, mantenendo 255 nell’ultima fascia.

La capacità decodifica file PNG, JPEG o WebP?

No. Lei deve fornire valori già decodificati e organizzati in array di canali con nome.

I canali possono avere quantità di pixel differenti?

Sì. Ogni canale viene contato separatamente e restituisce il proprio pixel_count.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/image/histogram

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/image/histogram \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"channels":[{"channel":"red","values":[0,15,16,127,128,240,255]},{"channel":"green","values":[0,64,64,128,192,255]}]}'
{
  "channels": [
    {
      "channel": "red",
      "values": [
        0,
        15,
        16,
        127,
        128,
        240,
        255
      ]
    },
    {
      "channel": "green",
      "values": [
        0,
        64,
        64,
        128,
        192,
        255
      ]
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.histogram",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_channels16
max_values_per_channel1000000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →