ForHosting KIT · Immagini e foto

Calcoli l’istogramma di ogni canale di un’immagine

Conti come si distribuiscono i valori di un canale in intervalli uguali. Con i 16 intervalli predefiniti, i valori da 0 a 15 finiscono nel primo, da 16 a 31 nel secondo e da 240 a 255 nell'ultimo, e ogni pixel viene contato una volta sola. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto

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

Il calcolatore di istogrammi trasforma i valori dei pixel separati per canale in distribuzioni di frequenza compatte. 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.

Legga, confronti e verifichi il risultato

La prima posizione rappresenta sempre la fascia più scura e l’ultima quella più chiara, facilitando grafici e confronti. 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.

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?

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.

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.

Comprenda l’assegnazione agli intervalli

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à. Sommi counts e verifichi che il totale corrisponda a pixel_count: l’algoritmo garantisce tale proprietà e il controllo può rivelare troncamenti avvenuti altrove. Nel browser i dati restano locali; l’automazione API costa $0.002 per richiesta.

I canali possono avere quantità di pixel differenti?

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

Leggi la documentazione completa del KIT →