Dithering di una immagine digitale In generale il dithering è una tecnica di approssimazione di una immagine in m colori (ad esempio 65 Ml) con un’immagine con n colori (n <m; ed esempio 256 o addirittura 16). Il dithering è una tecnica di approssimazione di un’immagine rappresentata nella scala dei grigi (256 toni) con un’immagine in bianco-nero (2 livelli). Esistono centinaia di algoritmi di Dithering. Per semplicità mi occuperò del dithering scala dei grigi scala bianco-nero
Dithering halftoning (mezzo tono) tecnica del bicchiere mezzo vuoto – mezzo pieno 128 255
Dithering halftoning (mezzo tono) 255
Dithering halftoning Immagine test a gradiente costante immagine halftoning
Bevagna - Fontana di piazza S. Silvestro I mostri matematici ricompaiono in computer-vision Bevagna - Fontana di piazza S. Silvestro
Dithering halftoning Immagine nella scala dei grigi Immagine “artistica”
Dithering halftoning con gestione degli errori Per migliorare la qualità dell’immagine è necessario “gestire” gli errori Dithering halftoning con gestione degli errori Ordinati i pixels della matrice input mediante un qualche ordinamento Step (i-1) Step i
Dithering halftoning con gestione degli errori Errore da sommare input totale output 127 110 227 255 -135 2 -133 130 132 -125 220 95 180 400
Dithering halftoning senza diffusione Ordinamento riga-riga
Dithering halftoning senza diffusione Ordinamento diagonale
Dithering halftoning senza diffusione algoritmi pointwise (puntuali) la qualità dell’immagine dipende dall’ordinamento alcuni ordinamenti producono disturbi lungo linee zig-zag, in una o più direzioni, degradando la qualità la variazione totale della misura (con segno) degli errori è dell’ordine dello 0.5 -1 % costo computazionale basso bassa qualità dell’immagine
Dithering halftoning con diffusione d’errore Per migliorare la qualità dell’immagine si passa da un processo puntuale ad un processo locale Dithering halftoning con diffusione d’errore 7/16 3/16 5/16 1/16 processo locale o d’area l’errore viene spalmato fra i pixels di un intorno la qualità dell’immagine è meno sensibile all’ordinamento persistono i disturbi lungo linee zig-zag, in una o più direzioni costo computazionale alquanto più alto la qualità dell’immagine migliora notevolmente
Dithering halftoning con diffusione d’errore Negli anni ‘70 alcuni autori propongono un ordinamento indotto dalla curva di Hilbert. Ordinamento a-periodico Elimina i disturbi lungo linee a zig-zag crea una grana uniformemente distribuita, simile ad una lastra fotografica
Curva di Hilbert (1891)
Dithering halftoning con diffusione d’errore Negli anni ‘70 alcuni autori propongono un ordinamento indotto dalla curva di Hilbert. Ordinamento a-periodico Elimina i disturbi lungo linee a zig-zag crea una grana uniformemente distribuita, simile ad una lastra fotografica
Dithering halftoning con gestione degli errori Nel 1998 T. Riemersma introduce il concetto di intorno lineare di un pixel di raggio r : esso è costituito dalle r cellule che lo precedono Per decidere il colore da assegnare ad un pixel tiene conto degli errori di tutti i pixels dell’intorno. Intorno di raggio r =16
lista degli errori Tot err input Totale output 130 255 -125 40 -85 220 Intorno di raggio r =4 lista degli errori Tot err input Totale output 130 255 -125 40 -85 220 135 -35 -120 240 120 20 140 -135 100
Dithering halftoning con gestione degli errori T. Riemersma pesa gli errori con una funzione evanescente Intorno di raggio r =16
Dithering halftoning con gestione degli errori Errori equi-pesati Errori con pesi evanescenti
Dithering halftoning con gestione degli errori Errori equi-pesati Errori con pesi evanescenti
Dithering halftoning con gestione degli errori
I mostri matematici ricompaiono in computer-vision Originale Ordered dithering Floyd-Steinberg dithering (area process) Riemersma dithering
Dithering halftoning con gestione degli errori Nel 1999 alcuni ricercatori hanno ideato un ordinamento stocastico basato sulla curva di Hilbert che migliora notevolmente la qualità dell’immagine.
I mostri matematici ricompaiono in computer-vision