ESANTIONAREA SI CUANTIZAREA IMAGINILOR 1. Introducere Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor ESANTIONAREA SI CUANTIZAREA IMAGINILOR 1. Introducere 2. Esantionarea in spatiul bidimensional Principiul esantionarii imaginilor Frecventele spatiale Imagini cu spectru limitat Esantionarea spatiala Refacerea imaginii utilizand esantioanele sale Rata Nyquist, efectul "alias" si frecventele de suprapunere Teorema esantionarii in spatiul bidimensional Retele de esantionare neregulate si intretesute Esantionarea optimala Limitari in procesul de esantionare si reconstructie 3. Cuantizarea imaginilor Cuantizorul optimal Cuantizorul uniform Cuantizarea vizuala: - Cuantizarea contrastului - Cuantizarea utilizand zgomot pseudoaleator Generarea imaginilor bitonale Cuantizarea imaginilor color
Prelucrarea numerica a imaginilor Cap Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 1. Introducere Esantionarea si cuantizarea imaginilor / afisarea analogica a imaginilor
2. Esantionarea in spatiul bidimensional Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 2. Esantionarea in spatiul bidimensional Principiul esantionarii imaginilor x y f(x,y)
Prelucrarea numerica a imaginilor Cap Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Imaginea = semnal 2-D = “generalizare” a semnalelor 1-D (variabile in timp): 1-D 2-D
Semnal 1-D (variabil in timp) Semnal 2-D (imagine pe nivele de gri) Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Frecventele spatiale - Imaginile pe nivele de gri pot fi privite ca o generalizare la cazul 2-D a semnalelor variabile in timp (atat cele analogice cat si cele digitale) => echivalentele intre cele 2 tipuri de semnale: Semnal 1-D (variabil in timp) Semnal 2-D (imagine pe nivele de gri) Coordonata temporala t Coordonatele spatiale x,y Valoarea instantanee a semnalului: f(t) Nivelul de gri intr-un punct din scena: f(x,y) Un semnal 1-D care nu variaza in timp (este constant) = are componenta de c.a. =0 iar componenta de c.c. = valoarea semnalului O imagine perfect uniforma (cu acelasi nivel de gri in toate pozitiile spatiale); componenta de c.c. a imaginii = nivelul de gri respectiv Frecventa maxima din spectrul unui semnal 1-D este proportionala cu viteza maxima de variatie a valorii sale instantanee in timp: νmax ~ max(df/dt) Frecventele maxime dintr-o imagine (semnal 2-D) sunt proportionale cu vitezele maxime de variatie ale luminantei in spatiu: νmax,x ~ max(df/dx); νmax,y ~ max(df/dy) => νmax,x , νmax,y = “frecventele spatiale” Semnal digital 1-D: descris prin esantioanele sale => un vector: u=[u(0) u(1) … u(N-1)], N esantioane; pozitia esantionului = momentul de timp discret Imaginea digitala (semnal 2-D): descrisa prin esantioanele sale, dar in 2-D => o matrice: U[M×N], U={u(m,n)}, m=0,1,…,M-1; n=0,1,…,N-1. Spectrul semnalului variabil in timp = modulul transformatei Fourier a semnalului, F(ω); ω=2πν. Spectrul imaginii = modulul transformatei Fourier a imaginii = generalizarea 2-D a transformatei Fourier, F(ωx,ωy); ωx=2πνx; ωy=2πνy
Spectrul unei imagini de banda finita si suportul sau spectral Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Imagini cu spectru limitat Imagine cu spectru limitat = semnal 2-D cu suport spectral finit: F(νx, νy) = transformata Fourier a imaginii: Spectrul unei imagini de banda finita si suportul sau spectral
Esantionarea spatiala (1) Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Esantionarea spatiala (1) Reteaua de esantionare = retea (grila) rectangulara uniforma: Esantionarea imaginii = citirea valorilor functiei continue de luminanta f(x,y) doar in pozitiile corespunzatoare punctelor retelei:
Esantionarea spatiala (2) Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Esantionarea spatiala (2) Problema esantionarii spatiale: alegerea valorilor Δx, Δy, astfel incat sa obtinem: reprezentarea imaginii digitale printr-un numar minim de esantioane, fara a pierde informatie (sau cu pierdere minima de informatie). (De exemplu: pt. o imagine perfect uniforma, un singur esantion este suficient pt. a reprezenta complet imaginea => esantionarea se poate realiza pe o grila cu pasi Δx, Δy foarte mari; din contra – daca luminanta variaza spatial foarte brusc => sunt necesare foarte multe esantioane pentru descrierea imaginii) Intervalele spatiale de esantionare (pasii de esantionare) Δx, Δy necesare pentru minimizarea pierderii de informatie la conversia analog-digitala depind de frecventele spatiale maxime din imagine. Conditiile de esantionare sunt deduse pe baza analizei spectrului imaginii, obtinut din transformata Fourier 2-D a imaginii: Functia g(Δx, Δy) a retelei de esantionare este periodica, cu perioada (Δx, Δy) => poate fi exprimata prin descompunerea in serie Fourier:
Esantionarea spatiala (3) Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Esantionarea spatiala (3) Ca urmare, transformata Fourier a functiei fS este: Spectrul imaginii esantionate = colectia unui numar infinit de replici spectrale scalate ale spectrului imaginii originale, centrate pe multipli ai frecventelor spatiale νx,s=1/Δx, νy,s=1/ Δy.
Spectrul imaginii originale (reprezentarea 2D) Imagine originala Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Spectrul imaginii originale (reprezentarea 2D) Imagine originala Spectrul imaginii originale (3D) Retea de esantionare rectangulara 2-D Spectrul imaginii esantionate (3D) Spectrul imaginii esantionate (reprezentarea 2D)
Refacerea imaginii din esantioanele sale Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Sa presupunem ca regiunea de filtrare R este dreptunghiulara, la mijlocul distantei dintre doua replici spectrale invecinate:
Functia sinc 1-D Functia sinc 2-D Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Functia sinc este infinita spatial => este imposibila implementarea practica a FTJ ideal! este imposibila in practica reconstructia fara eroare a imaginii din esantioanele sale, daca o esantionam la frecventele Nyquist. Solutia practica: esantionarea imaginii la frecvente spatiale mai mari decat ratele Nyquist + implementarea unui FTJ real (cat mai apropiat de cel ideal…) Functia sinc 1-D Functia sinc 2-D
Ratele Nyquist. Efectul alias. Frecventele de suprapunere Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Ratele Nyquist. Efectul alias. Frecventele de suprapunere Obs: Efectul alias poate sa apara si in procesul de refacere a imaginii din esantioanele sale, din cauza neidealitatii filtrului! Daca nu putem creste frecventele spatiale de esantionare, singura modalitate de evitare a efectului alias este FTJ a imaginii inainte de esantionare Efectul Moire Contururi “zimtate”
Fig.6 Esantionarea intretesuta Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Retele de esantionare nerectangulare si intretesute Fig.6 Esantionarea intretesuta Esantionarea optimala = descompunerea in serie Karhunen-Loeve:
Prelucrarea numerica a imaginilor Cap Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Refacerea imaginii din esantioanele sale – cazul practic Intrebarea este: ce nivele de gri trebuie atribuite noilor puncte? (=problema de interpolare) Exista diferite metode practice de interpolare; interpolarea ideala = bazata pe functia sinc; in practica – utilizam metode de interpolare mai simple (aproximari spatiale ale unor FTJ in domeniul frecventa).
Functii de interpolare: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Functii de interpolare:
Imagine originala Imagine esantionata Imagine reconstruita Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Exemple de interpolare ale imaginilor, cu diferite functii: 1. Functia dreptunghiulara (interpolare de ordin zero) – numita si interpolare nearest neighbour sau “cutie”: Imagine originala Imagine esantionata Imagine reconstruita
Imagine originala Imagine esantionata Imagine reconstruita Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 2. Functia triunghiulara (de ordin I), sau interpolare biliniara: Imagine originala Imagine esantionata Imagine reconstruita
Diferenta dintre imaginea reconstruita prin interpolare Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 3. Functia cubica, sau interpolarea bicubica – incepe sa aproximeze mai bine functia sinc: Diferenta dintre imaginea reconstruita prin interpolare biliniara si bicubica Imagine originala Imagine esantionata Imagine reconstruita
Fig. 7 Schema-bloc a unui sistem de esantionare real Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Limitari in procesul de esantionare si reconstructie Fig. 7 Schema-bloc a unui sistem de esantionare real Fig. 8 Efectul real al interpolarii
Fig. 9 Cuantizor si functia de cuantizare Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 3. Cuantizarea imaginilor 3.1. Privire generala Fig. 9 Cuantizor si functia de cuantizare
Proiectarea cuantizorului: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 3.2. Cuantizorul uniform Proiectarea cuantizorului: Notam: domeniul luminantei la intrarea cuantizorului: Fie B – numarul de biti ai cuantizorului => L=2B nivele de reconstructie Expresia nivelelor de decizie: Expresia nivelelor de reconstructie: Calculul erorii de cuantizare: pt. o imagine data, de M×N pixeli, U – imaginea necuantizata; U’ – imaginea cuantizata => estimam MSE: Ex. B=2 => L=4
Exemple de cuantizare uniforma; eroarea de cuantizare: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Exemple de cuantizare uniforma; eroarea de cuantizare: B=1 => L=2 Imaginea necuantizata Imaginea cuantizata Eroarea de cuantizare; MSE=36.2 Histograma imaginii necuantizate
Exemple de cuantizare uniforma; eroarea de cuantizare: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Exemple de cuantizare uniforma; eroarea de cuantizare: B=2 => L=4 Imaginea necuantizata Imaginea cuantizata Eroarea de cuantizare; MSE=15 Histograma imaginii necuantizate
Exemple de cuantizare uniforma; eroarea de cuantizare: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Exemple de cuantizare uniforma; eroarea de cuantizare: B=3 => L=8; aparitia fenomenului de “conturare” (contururi false) Imaginea necuantizata Imaginea cuantizata Eroarea de cuantizare; MSE=7.33 Histograma imaginii necuantizate
Prelucrarea numerica a imaginilor Cap Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 3.3. Cuantizorul optimal in sensul minimizarii MSE (=cuantizorul Lloyd-Max)
Prelucrarea numerica a imaginilor Cap Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor (Gaussian) , sau (Laplacian) ( varianta , - valoarea medie)
Exemple de cuantizare optimala; eroarea de cuantizare: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Exemple de cuantizare optimala; eroarea de cuantizare: B=1 => L=2 Imaginea necuantizata Imaginea cuantizata Eroarea de cuantizare; MSE=19.5 Evolutia MSE in procesul de optimizare, plecand de la cuantizorul uniform Histograma imaginii necuantizate
Exemple de cuantizare optimala; eroarea de cuantizare: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Exemple de cuantizare optimala; eroarea de cuantizare: B=2 => L=4 Imaginea necuantizata Imaginea cuantizata Eroarea de cuantizare; MSE=9.6 Evolutia MSE in procesul de optimizare, plecand de la cuantizorul uniform Histograma imaginii necuantizate
Exemple de cuantizare optimala; eroarea de cuantizare: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Exemple de cuantizare optimala; eroarea de cuantizare: B=3 => L=8 Imaginea necuantizata Imaginea cuantizata Eroarea de cuantizare; MSE=5 Evolutia MSE in procesul de optimizare, plecand de la cuantizorul uniform Histograma imaginii necuantizate
Prelucrarea numerica a imaginilor Cap Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Obs. Cuantizorul uniform = cuantizorul optimal atunci cand hu(u) este uniforma:
3.4. Metode de cuantizare vizuala Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 3.4. Metode de cuantizare vizuala In general – daca B<6 (la cuantizarea uniforma) sau B<5 (la cuantizarea optimala) => apare fenomenul de "conturare" (apar contururi false) in imaginea cuantizata. “Conturarea” = grupuri de pixeli vecini sunt cuantizati la aceeasi valoare => apar regiuni de nivele de gri constante; contururile acestor regiuni sunt contururile false specifice “conturarii”. Contururile false introduse de cuantizare nu contribuie semnificativ la MSE, dar sunt foarte deranjante vizual => este important sa reducem vizibilitatea erorii de cuantizare, nu doar MSE. Solutii: scheme de cuantizare vizuala, care sa mentina eroarea de cuantizare sub un nivel de vizibilitate acceptabil. Doua metode de baza: (a) cuantizarea contrastului; (b) cuantizarea cu zgomot pseudo-aleator Cuantizare uniforma, B=4 Cuantizare optimala, B=4 Cuantizare uniforma, B=6
3.4. Metode de cuantizare vizuala Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 3.4. Metode de cuantizare vizuala a. Cuantizarea contrastului Perceptia vizuala a modificarii luminantei este neliniara, dar perceptia vizuala a modificarilor contrastului este liniara este mai justificat sa cuantizam uniform contrastul, nu luminanta contrastul = raportul dintre cel mai deschis si cel mai intunecat nivel de stralucire intr-o regiune modificarile de contrast sesizabile de catre ochi sunt de 2% => 50 nivele de cuantizare 6 biti sunt suficienti pt. cuantizarea uniforma a contrastului (sau 4-5 biti in cazul cuantizarii optimale)
Exemple de cuantizare a contrastului: Pt. c=u1/3: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Exemple de cuantizare a contrastului: Pt. c=u1/3:
Exemple de cuantizare a contrastului: Pt. functia logaritmica: Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Exemple de cuantizare a contrastului: Pt. functia logaritmica:
b. Cuantizarea cu zgomot pseudoaleator (“dither”) Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor b. Cuantizarea cu zgomot pseudoaleator (“dither”) Zgomot de amplitudine mare Cuantizare uniforma, B=4 Inainte de scaderea zgomotului Zgomot de amplitudine mica
Prelucrarea numerica a imaginilor Cap Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor a. b. c. d.
Fig.14 Generarea digitala a imaginilor bitonale Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 4. Generarea imaginilor bitonale Fig.14 Generarea digitala a imaginilor bitonale Demo: http://markschulze.net/halftone/index.html Fig.15 Matrici de tip "halftone"
Prelucrarea numerica a imaginilor Cap Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor Fig.3.16
Fig.17 Cuantizarea imaginilor color Prelucrarea numerica a imaginilor Cap. 3 Esantionarea si cuantizarea imaginilor 5. Cuantizarea imaginilor color Fig.17 Cuantizarea imaginilor color