Paveikslėlių didintuvas
Padidinkite paveikslėlį 2×, 3× arba 4× naudodami tikrą Lanczos arba bikubinę konvoliucinę perskaičiavimo skalę, sąžiningai rodomą greta naršyklės numatytojo dvitiesinio mastelio – klasikinis perskaičiavimas, o ne DI.
🔒 Visiškai apdorojama jūsų naršyklėje – niekas, kurį čia įvedėte, niekada neįkeliama.
Rezultatas
Daugybė svetainių žada „DI padidinimą“, dėl kurio maža nuotrauka atrodo tarsi daryta profesionalia įranga. Šis įrankis elgiasi nuoširdžiau: jis padidina jūsų paveikslėlį naudodamas tikrus, dešimtmečius brandintus, matematiškai gerai suprantamus perskaičiavimo algoritmus – tą pačią grupę, naudotą profesionalioje vaizdų redagavimo programinėje įrangoje dar gerokai prieš tai, kai kas nors ką nors pavadino „DI“ – ir tiksliai parodo, kaip tai atrodo, palyginti su mastelio keitimu, kurį jūsų naršyklė jau atlieka nemokamai.
Realizuoti du iš esmės skirtingi algoritmai, o ne vienas algoritmas su dviem etiketėmis. Lanczos perskaičiavimas naudoja „sinc“ lango funkcijos branduolį – sinc(x) padaugintą iš sinc(x/a), kai atraminis spindulys a=3 – kuris veikia kaip beveik idealus žemųjų dažnių filtras ir paprastai sukuria ryškiausius, didžiausio kontrasto kraštus iš šių dviejų. Bikubinis perskaičiavimas naudoja klasikinį Keys (1981) kubinės konvoliucijos branduolį, kai a=-0,5 (atitinka Catmull-Rom splainą), gabalais apibrėžtą kubinį polinomą, kurio atraminis spindulys yra 2, duodantį sklandesnius, minkštesnius rezultatus su mažesniu švytėjimu prie kietų kraštų. Abu taikomi kaip tikros atskiriamos konvoliucijos: iš pradžių kiekviena eilutė perskaičiuojama horizontaliai, po to kiekvienas stulpelis – vertikaliai, branduolio svoriai apskaičiuojami kiekvienam išvesties pikseliui ir normalizuojami taip, kad jų suma visada būtų lygi 1.
Palyginimui įrankis taip pat atvaizduoja tą patį padidinimą, naudodamas pačios naršyklės numatytąjį drawImage mastelio keitimą (imageSmoothingEnabled = true, numatytoji kokybė) – greitą dvitiesinės grupės metodą, kurį naudoja kiekvienas drobe pagrįstas įrankis, jei neturi nieko geresnio. Pateikus jį greta jūsų pasirinkto Lanczos arba bikubinio rezultato, tikro perskaičiavimo vertė tampa matoma: ryškesni kraštai ir mažesnis susiliejimas, esant tokiai pačiai tikslinei raiškai, iš tų pačių pradinių pikselių.
Ko šis įrankis nedarys – tai nekurs detalių, kurių niekada nebuvo užfiksuota. Jokio neuroninio tinklo, spėjančio, kaip „turėtų“ atrodyti neryškus plaukų kuokštas ar tolimas valstybinis numeris – kiekvienas išvesties pikselis yra matematiškai apibrėžtas svertinis tikrų pradinių pikselių derinys. Pasirinkite 2×, 3× arba 4×, pasirinkite Lanczos arba bikubinį ir atsisiųskite rezultatą kaip PNG visos raiškos. Viskas veikia lokaliai, naudojant pačios naršyklės „Canvas 2D“ ir „ImageData“ API – jūsų paveikslėlis niekur neįkeliamas.