Ce este o interpolare imagine digitală

interpolare a imaginii apare în toate fotografiile digitale la un moment dat, fie că dematrizatsiya sau scalare. Se întâmplă de fiecare dată când modificați dimensiunea sau scanarea imaginii de la aceeași grila de pixeli la alta. Modificarea dimensiunii imaginii de care aveți nevoie, atunci când aveți nevoie pentru a mări sau micșora numărul de pixeli, în timp ce schimbarea poziției poate avea loc într-o varietate de circumstanțe: corectarea distorsiunea lentilelor, schimbare de perspectivă, sau roti imaginea.







Chiar dacă o modificare a dimensiunii sau este supus scanarea aceeași imagine, rezultatele pot varia semnificativ în funcție de algoritmul de interpolare. Deoarece orice interpolare este doar o aproximare, imaginea va pierde o parte ca ori de câte ori a fost interpolate. Acest capitol este destinat să asigure o mai bună înțelegere a ceea ce afectează rezultatul - și, astfel, să vă ajute să reducă la minimum orice pierdere de calitate a imaginii cauzate de interpolare.

Esența interpolare este de a utiliza datele disponibile pentru a genera valorile așteptate ale punctului de necunoscut. De exemplu, dacă ai vrut să știi ce temperatura a fost în după-amiaza, dar a fost măsurat la 11 și la o oră, puteți presupune valoarea sa, prin interpolare liniară:

Ce este interpolat

Dacă ați avut o dimensiune suplimentară la unsprezece și jumătate, s-ar putea observa că până la prânz temperatura a crescut mai repede și de a folosi acea dimensiune suplimentară pentru interpolare pătratică:

Ce este interpolat

Cu cat mai multe măsurători de temperatură va avea în jurul prânzului, cu atât mai complexe (și expectedly mai precis) ar putea fi algoritmul de interpolare dumneavoastră.

EXEMPLU Redimensionare imagine

imagini interpolarea funcționează în două dimensiuni și încearcă să ajungă la cea mai bună aproximare a culorii și luminanța pixelului bazat pe valorile pixelilor din jur. Exemplul următor ilustrează o operație de scalare:

Spre deosebire de fluctuațiile de temperatură și valorile pixelilor de gradient ideale de mai sus pot varia mult mai dramatic de la un punct la altul. Ca și în exemplul cu temperatura, cu atât mai mult despre pixelii din jur, cu atât mai bine interpolarea de lucru. De aceea, rezultatele se deteriorează rapid, ca întindere a imaginii, și, în plus, interpolare nu se poate adăuga detalii de imagine, care nu are.

Rotirea imaginii EXEMPLU

Interpolarea se produce, de asemenea, de fiecare dată când rotiți imaginea sau pentru a schimba perspectiva. Exemplul anterior a fost înșelătoare, pentru că acesta este un caz special în care interpolators de obicei funcționează bine. Următorul exemplu arată cât de repede lucrurile pot fi pierdute în detaliu în imagine:

90 °
(Lossless)

2 cotitură 45 °

6 ture cu 15 °

Rotire 90 ° nu introduce pierderi, deoarece nici un pixel este necesar pentru a pune pe granița dintre două (și, prin urmare, diviza). Observați cât de mult detaliu este pierdut în primul viraj, iar ca și calitatea continuă să scadă în viitor. Acest lucru înseamnă că ar trebui să evite rotații posibil; în cazul în cadru expus inegal necesită un viraj, nu se rotesc mai mult decât o dată.







Rezultatele de mai sus, folosind așa-numitul „Bicubică“ algoritmul și arată o deteriorare semnificativă a calității. Observați modul în care contrastul general este redusă din cauza intensitate mai mică de culoarea albastru deschis din jur par halo întuneric. Rezultatele pot fi mult mai bine, în funcție de algoritmul de interpolare și obiectul imagisticii.

Tipuri de algoritmi de interpolare

algoritmi non-adaptive includ cel mai apropiat vecin, biliniară, Bicubică, spline, funcția de cardinal sine (sinc), metoda Lanczos, și altele. În funcție de complexitatea, acestea sunt utilizate 0-256 (sau mai multe) pixeli adiacenți să fie interpolate. Pixelii mai multe adiacente acestea cuprind, cu atât mai precis poate fi, dar acest lucru se realizează în detrimentul unei creșteri semnificative a timpului de procesare. Acești algoritmi pot fi folosite pentru scanare, precum și pentru a scala imaginea.

Ce este interpolat

algoritmi adaptive includ multe algoritmi, cum ar fi programe comerciale Qimage, PhotoZoom Pro, fractalii autentice și altele licențiate. Multe dintre ele folosesc versiuni diferite ale algoritmi lor (pe baza analizei per pixel) atunci când detectează prezența a frontierei - în scopul de a minimiza defectele de interpolare inestetice în zonele în care acestea sunt cele mai vizibile. Aceste algoritmi sunt proiectate în primul rând pentru a maximiza fara defecte extinderilor detaliu, astfel încât unele dintre ele să se rotească sau să schimbe perspectivele de imagine sunt inadecvate.

Cel mai apropiat vecin

Acesta este cel mai de bază a tuturor algoritmi de interpolare, care necesită cel mai mic timpul de procesare, deoarece numai consideră un pixel - cel mai aproape de punctul de interpolare. Ca rezultat, fiecare pixel este pur și simplu devine mai mare.

interpolare biliniară

Ce este interpolat

interpolare biliniară consideră pixeli cunoscute, altele neprecizată 2x2 pătrat. Valoarea interpolate este folosit ca o medie ponderată a acestor patru pixeli. Ca rezultat, imaginile apar în mod considerabil mai lin decât rezultatul metodei de cel mai apropiat vecin.

Diagrama la stânga se referă la cazul în care sunt cunoscute toate pixelii, astfel încât valoarea interpolat este pur și simplu suma lor împărțit la 4.

Bicubică

Ce este interpolat

Bicubică merge cu un pas mai departe biliniar prin luarea în considerare o serie de pixeli 4x4 din jur - numai 16. Din moment ce acestea sunt situate la distanțe diferite de neizvestnogopikselya care vin pixeli primi o pondere mai mare în calcul. interpolare Bicubică produce imagini mult mai clare decât cele două metode anterioare, și, eventual, este raportul optim de timp de procesare și calitatea producției. Din acest motiv, ea a devenit standard pentru mai multe programe de editare a imaginilor (inclusiv Adobe Photoshop), driverele de imprimantă și interpolarea cameră încorporată.

mai mare comanda Interpolare: spline și sinc

Există multe alte interpolators, care iau în considerare mai mult decât pixelii din jur, și, astfel, au nevoie de calcul mai intensă. Acești algoritmi includ spline și sinus cardinal (sinc), și își păstrează cele mai multe informații despre imagine după interpolare. Ca urmare, acestea sunt extrem de utile atunci când imaginea necesită mai multe ture sau schimbări în perspectivele pentru etapele individuale. Cu toate acestea, pentru a mări sau o singură comandă mai mare astfel de algoritmi oferă o îmbunătățire vizuală mică, cu o creștere semnificativă a timpului de procesare. Mai mult decât atât, în unele cazuri, sinusul algoritm cardinal pe o porțiune netedă îndeplinește mai rău decât interpolare Bicubic.

Defectele observate interpolare

Toate interpolators non-adaptive încearcă să găsească echilibrul optim între cele trei defecte nedorite: blur halo delimitare și gradatiei.