En snabb metod för att skala färgbilder. Lektion: Bildskalning

Det enkla svaret på din fråga är "Ja, det finns algoritmer, men ingen av dem är särskilt bra." Som du nämnde i frågan är den begränsande faktorn att behöva uppfinna pixlarna på nytt för att öka upplösningen med en liten mängd. (Det är därför du inte kan läsa ett registreringsnummer från reflektionen i någons glasögon från ett foto taget från en säkerhetskamera, som händer i CSI: Miami.)

Om allt du vill göra är att skapa en större bild (för ett väggtak eller liknande), kan du använda ett Photoshop-plugin som jämnar ut övergångarna mellan pixlar med hjälp av befintlig information. Det kan inte skapa nya pixlar, men det kan bli av med det där fyrkantiga, taggiga utseendet.

Lägga till tidigare svar: Observera att svaret på din fråga beror mycket på exakt vad du menar med upplösning – visningsenheter, infångningsenheter eller visningsenheter (d.v.s. det mänskliga ögat). Jag antar att du pratar om bitmappar (problemet kommer inte att existera för vektorbilder.)

Du måste erkänna att en bild tagen med högre upplösning kommer att innehålla mer bildinformation (d.v.s. detaljer) än en bild av samma scen tagen med lägre upplösning. Det är inte möjligt att lägga till denna information ur tomma intet. Skalningsalgoritmer syntetiserar viss information baserat på antagandet om kontinuitet mellan element i en diskret bitmapp. Denna "nya" information är egentligen inte ny, utan härleds från redan existerande information om bilden, så den kan inte anses ha en 100% chans att matcha den ursprungliga scenen. Effektivare algoritmer kan ge bättre sannolikheter, men deras resultat kommer alltid att ha en matchningssannolikhet mindre än 1.

Ett sätt att öka upplösningen är att ta flera bilder, förstora dem till 4x områden (2x linjära i båda riktningarna) och använda staplingsprogram för att slå samman bilderna. Den slutliga bilden blir bättre än något av originalen.

Att förstora bilder är riskabelt. Bortom en viss punkt är att förstora bilder ett galet ärende; du kan inte på ett magiskt sätt syntetisera ett oändligt antal nya pixlar ur tomma intet. Och interpolerade pixlar är aldrig lika bra som riktiga pixlar. Det är därför det är mer än konstlat att förstora Lenas 512x512 bild med 500%. Det skulle vara mer meningsfullt att hitta en större skanning eller bild av det du behöver* än att förstora den i programvaran.

I vissa fall kan högupplösta algoritmer hjälpa. Jag kan inte allt relaterat (mjukvara/hårdvara och källbilder krävs) men om du är intresserad finns det några länkar:

Du kan rita en bild med verktyg som autotrace eller potrace och använda den i valfri upplösning. Men det är beräkningsmässigt dyrt, så du får en bild med flera färger/funktioner och ännu mindre om du behöver arbeta snabbt med den.

Om du behöver göra detta algoritmiskt, kolla in bildskalningslänken som föreslagits av Draemon. Vilken plattform kommer du att göra dessa interpolationer på? De flesta grafikbibliotek kommer att implementera många metoder för att balansera hastighet och kvalitet.

Många fotografer som arbetar med digitala bilder står inför situationen där en digital bild är mindre än den behöver skrivas ut. För att göra en bild större med samma upplösning måste du lägga till nya pixlar till den. Uppgiften är att beräkna färgen på de nya pixlarna som ska läggas till mellan de befintliga. Denna procedur kallas uppsampling och löses genom att använda olika algoritmer. Av de välkända uppsamplingsalgoritmer som har använts i många år bör tre nämnas:

  • metod för att kopiera närmaste pixel (Nearest neighbor interpolation) - är att nya pixlar av samma färg som de som finns i närheten läggs till i bilden. Färgpunkter dupliceras - ju fler av dem som skapas, desto större bör bilden vara. Denna procedur leder till uppkomsten av steg, som bildas på grund av att de kontinuerliga kurvorna för färgförändring blir stegade. Sådana bilder kallas taggiga bilder 1 , eller bara jaggies;
  • bilinjär interpolation (bilinjär interpolation) - utförs på basis av fyra intilliggande pixlar, ger jämna kanter (inga steg visas), men den förstorade bilden är suddig;
  • Bikubisk interpolation (Bicubic interpolation) - ger något bättre resultat än bilinjär interpolation, baseras på analys av 16 angränsande pixlar, vilket ger en jämnare ökning av storleken. I Photoshop föreslås det att man använder den bikubiska algoritmen. För en liten ökning (upp till 150%) ger denna metod bra resultat, men med en ytterligare ökning sjunker kvaliteten dramatiskt.

På fig. 1 visar ett exempel på fotobehandling med traditionella interpolationsalgoritmer.

Alla dessa metoder leder till defekter i form av spår av interpolation. Nyligen har mer komplexa algoritmer dykt upp som tillåter att minimera interpolationsdefekter. Baserat på dem har specialiserade applikationer skapats, gjorda i form av fristående program eller plug-ins för Photoshop och andra populära grafiska redigerare. Sådana plug-ins är nödvändiga för alla som har att göra med lågupplösta bilder från digitalkameror, videokameror, internet etc.

På fig. Figur 2 visar exempel på bearbetning av originalfotot (se figur 1) med programmet Imagener från Kneson Software.


från Kneson Software

Moderna uppsamplingsprogram låter dig förvandla små bilder tagna från webbplatser till utskrivbara bilder, titta på oklara detaljer i gamla fotografier och så vidare. Sådana program används inte bara i prepress, utan också inom områden som medicin, rättsmedicin och astronomi.

Den här artikeln diskuterar inte bara uppsamplingsapplikationer skapade av bildbearbetningsföretag, utan även program utvecklade av enskilda programmerare. De flesta av programmen som behandlas i den här artikeln finns på vår CD-ROM-applikation.

1 Bild med ojämna (skakiga, stegade) kanter.

bildapparat

Utvecklare: Kneson programvara

Plattform: Windows

Programmet finns i tre versioner: Enhanced - $29,95, Professional - $49,95, Unlimited - $99,95.

Ett av de bästa programmen inom området digital bildförstoring, tillgängligt i tre versioner - Enhanced, Professional och Unlimited.

Imagener förbättrad förstoring

Applikationen tillhandahåller förstoring av digitala bilder i formaten JPG, GIF, TIF, BMP, PCX, PSD, ETC. Den använder en intelligent modul som analyserar ett stort område runt varje pixel för att öka kvaliteten på bilden. Applikationen låter dig uppnå 200-300 procents ökning utan märkbar kvalitetsförlust.

Imagener Professional Enlargement

Applikationen har alla funktioner i den förbättrade versionen, och dessutom använder den Kneson Progressive ++ Enlargement Method, som är baserad på innehållsberoende interpolation som tar hänsyn till bildens komplexitet. Programmet låter dig utföra mer än 300 procents ökning utan en visuellt märkbar kvalitetsförlust.

Imagener Obegränsad förstoring

Denna version har funktionerna för Imagener Enhanced och Imagener Professional, och dessutom använder den interpolationstekniken Kneson Unlimited ++ Enlargement Method, som först konverterar en rasterbild till en vektorbild, sedan ökar den, vilket ger hög kvalitet, och sedan rastrar bilden omvänt till ett av de populära formaten, såsom JPEG, GIF eller TIF (Fig. 3).

Ris. 3. Ett exempel på driften av programmet Imagener Unlimited Enlargement

Enligt utvecklaren har Imagener Unlimited-tekniken utvecklats i cirka tio år och det har investerats mer än 2,5 miljoner dollar i. Det finns en demoversion.

Jämförande egenskaper för versionerna av Imagener-programmet ges i tabell. ett.

Applikationer kan laddas ner på: http://www.imagener.com/Download.html

Pxl SmartScale 1

Utvecklare: Extensis Inc.

Pris: 199,95 USD

Plattform: Windows och MacOS

Pxl SmartScale är ett av de dyraste interpolationsprogrammen som finns. Utvecklarna avslöjar inte kärnan i de implementerade algoritmerna och deklarerar bara att programmet ger en ökning i storlek upp till 1600% utan någon synlig kvalitetsförsämring (Fig. 4). Bland de användbara funktionerna i programmet är förhandsgranskning, möjligheten att kontrollera skärpan och kontrasten i den resulterande bilden, beskärning. En 30-dagars testversion är tillgänglig.


upp till 1600 % storleksökning
ingen synlig kvalitetsförsämring

PhotoZoom Professional

Utvecklare: Genväg

Plattform: Windows och MacOS

Pris: 129 euro

Många fotografer möter den kvalitetsförlust som kommer med att öka storleken på en digital bild. Bieffekterna av detta är oskärpa bilder och ojämna kanter, som är typiska för bilder som har bearbetats i en av de primitiva bildförstoringsapplikationerna. Genväg PhotoZoom Professional (Fig. 5) låter dig förstora digitala bilder utan de ovan nämnda defekterna. Programmet använder S-Spline-teknologi, som är baserad på en patenterad självjusterande interpolationsalgoritm (Fig. 6).

Programfunktioner:

  • förbättrad S-Spline-algoritm;
  • justeringsverktyg för att förbättra bildkvaliteten när den zoomas in;
  • satsvis bearbetning;
  • stöd för ett brett utbud av grafiska format;
  • fristående applikation eller Adobe Photoshop-plugin;
  • gratis testversion.

En billigare version av programmet riktat till hemanvändare kan köpas för 49 euro som en del av programpaketet Shortcut PhotoMagic, som förutom programmet för att förstora bilder utan visuell kvalitetsförlust innehåller ett antal digitala bildbehandlingsverktyg.

Ändra storlek Pro

Utvecklare: Fred Miranda

Plattform: Windows och MacOS

Pris: 30 USD

Resize Pro är ett plugin för Photoshop baserat på interpolationsoperationen. Kärnan i algoritmen är det automatiska urvalet av pixlar som är mest ansvariga för detaljerna i bilden. Dessa pixlar bearbetas på ett speciellt sätt. Denna algoritm låter dig få mer detaljerade och naturliga bilder både när du zoomar in och ut ur bilden.

Vid neddragning säkerställer Resize Pro bästa möjliga kvalitet genom att analysera vilken information från vilka punkter som är viktiga och vilka som kan försummas.

När du använder detta plugin kommer bilden inte att drabbas av yttre effekter som halo runt kontrastområden. En annan funktion i programmet är dess höga hastighet. Resize Pro körs på Photoshop 6, 7, CS, CS2, Elements 1, 2 och 3.

En plugin för en specifik kamera (Fig. 7) finns på: http://www.fredmiranda.com/software.

Äkta fraktaler

Utvecklare: Lizardtech Inc.

Plattform: Windows

Pris:Äkta fraktaler 4.0 - $159; Äkta Fractals PrintPro 4.0 - $299

Genuine Fractals från Lizard Technologies är ett populärt uppskalningspaket för bildupplösning (Figur 8). Interpolationsalgoritmerna som implementeras i Genuine Fractals är baserade på bildkodning med IFS (Iterated functions system) 2-metoden. De gör det möjligt att sträcka individuella fragment av en bild med hänsyn till deras lokala geometriska egenskaper och följaktligen för att undvika interpolationsdefekter (tänder, halos, etc.).

Programmet konverterar bilden till sitt eget Genuine Fractals-format, som lagrar bilden i en mer kompakt form. Detta gör det möjligt att lagra och överföra fler bilder över webben.

Som ett Photoshop-plugin-program lägger Genuine Fractals till en extra funktion till Adobe Photoshop-applikationen - resolution on demand (resolution on demand), det vill säga det låter dig hämta filer med olika upplösningar från en baskod.

Programmet ger möjlighet att öka bilden upp till 600 % utan någon synlig kvalitetsförlust.

Genuine Fractals PrintPro 4.0 stöder alla färgmodeller inklusive CMYK och CIE-Lab.

Demoversionens funktionalitet är begränsad till 12 filoperationer.

Jämförande egenskaper för Genuine Fractals-produkter presenteras i tabell. 2.

2 Metoden för system med itererade funktioner (Iterated Functions System, IFS) dök upp i mitten av 80-talet som ett enkelt sätt att erhålla fraktala strukturer. IFS är ett system av funktioner från någon fast klass av funktioner som mappar en flerdimensionell uppsättning till en annan.

Ändra storlek på magi

Utvecklare: FSoft

Plattform: Windows

Pris: 24 euro

Plugin-programmet Resize Magic Photoshop låter dig inte bara förstora (fig. 9), utan även förminska bilder. Ett olicensierat program infogar etiketter i bilden.

Ris. 9. Bild uppskalad från 500x667
upp till 2800x3735 pixlar: till vänster - med Adobe Photoshop, till höger -
med Resize Magic

Du kan ladda ner programmet på: http://www.fsoft.it/imaging/en/Download.htm .

Ändra storlek på IT

Utvecklare: Brian Spangler

Plattform: Windows

Pris: 25 USD

Resize IT är ett Adobe Photoshop-plugin som fungerar med alla applikationer som stöder Adobe-kompatibla plugins. Om du behöver förstora en 3 megapixel bild till 11 megapixlar, kommer Resize IT att erbjuda flera interpolationsalgoritmer från vilka du kan välja den bästa för ett visst fall. Applikationen kommer att vara användbar för professionella fotografer (Fig. 10). Den oregistrerade versionen låter dig bearbeta 15 bilder.

Inzoomnia

R Utvecklare: Lars Mohrmann

Plattform: Windows

Pris: 15 euro

Inzoomnia är det billigaste programmet i denna recension. Applikationen hanterar raka och rundade linjer bra, men genererar ojämnheter i skarpvinklade bildelement (Figur 11). Det finns en demoversion som inte har möjlighet att spara filer.


och med hjälp av Inzoomnia-algoritmen

Qimage

Utvecklare: Digital domän

Plattform: Windows

Pris: 45 USD

Qimage kommer att vara av intresse för användare som främst är intresserade av att förstora bilder i samband med utskrift. Den är utformad för att skriva ut förstorade bilder med rätt kvalitet. Qimage använder egenutvecklade algoritmer som är intelligentare än bikubisk interpolation.

Programmet låter dig skriva ut bilder med maximal kvalitet, placerar optimalt flera bilder på en sida, vilket sparar dyrt fotopapper (Fig. 12). Förutom intelligenta bildförstoringsalgoritmer finns brusfilter, fläckborttagning, funktioner för justering av ljusstyrka, kontrast, skärpa, bildrotation, spegling m.m. Formaten JPEG, TIF, BMP, GIF, PCX, TGA, PCD, PNG och NEF (Nikon D1 raw) stöds.

Pictura

Utvecklare: Digital multimediadesign

Plattform: Windows

Pris: projektet har ännu inte kommersialiserats

Pictura är ett grafikbearbetningsprogram som använder, brusreducering, fokusering och andra filter som används vid digital fotoredigering och prepress.

Pictura är baserad på AQua-2 (Adaptive Quadratic v.2) interpolationsmetoden, enligt vilken sannolikhetsfördelningen för färgkomponenternas värden beräknas för var och en av de syntetiserade pixlarna, beroende på de lokala egenskaperna hos bild.

Projektet är på stadium att testa en preliminär alfaversion, deltagande i vilken är möjligt med författarnas samtycke (storleken på installationsfilen är 9 MB).

Det finns 711 ord i den här artikeln.

Postnavigering

Som utlovat till Zaria och Roman, om än med en fördröjning, publicerar jag en artikel på ämnet bildförstoring som förberedelse för storformatstryck.

De som skrev ut foton större än 20 x 30 cm upplevde troligen en förlust av detaljer och en banal ”suddig” bild. Du kanske trodde att detta är en konsekvens av otillräcklig kameraupplösning, och du har delvis rätt.

Men i själva verket är allt inte så illa och det finns ingen anledning att springa för att köpa en digital baksida i mediumformat bara för att skriva ut ett foto som är större än 20 x 30 cm.

Adobe Photoshop kom in i våra liv för länge sedan och jag minns själv inte vilken version jag började med (nu använder jag CS6). Denna mjukvaruprodukt är helt enkelt lysande när det gäller bekvämlighet och tillgången till nödvändiga verktyg.

Men dess marknadsförare sover inte heller. Om alla de bästa bildmanipuleringsalgoritmerna implementerades i Photoshop från allra första början, då skulle vi inte se nya versioner, företaget skulle gå i konkurs och vi skulle behöva arbeta med "Stone Age"-gränssnittet.

Under konsumtionssamhällets slag föll bara algoritmerna för att öka och minska bilden. De är med Adobe Photoshop skamlöst föråldrad. Jag har inte sett framsteg på länge, även om plug-ins för en mer korrekt storleksändring har funnits väldigt länge.

Jag kommer till exempel att använda mitt eget foto av smyckeskompositionen "Boy", som föreställer en beväpnad mongolisk pojke.

Original

Till en början hade bilden en upplösning på 3580 x 5382 pixlar. (19 megapixlar, det var en liten skörd).

Om du följer kanonerna för utskrift bör den ha 300dpi i utskriftsfilen.

Om jag avmarkerar kryssrutan "Omsampla" och ställer in den på 300 dpi (dvs. jag kommer inte att använda Adobe Photoshops bildförstoringsverktyg), så kommer Photoshop att räkna om storleken på den resulterande utskriften åt mig.

För denna bildupplösning blir den 30 x 45 cm.

Men låt oss föreställa oss att vi vill skriva ut en banderoll 3 x 6 m (300 x 600 cm) eller 35800 x 53820 pixlar från detta tryck utan nästan ingen kvalitetsförlust. (1927 Mpx = 1,9 Gpx). 1.9 Gpiks i en digitalkamera kommer att vara en dröm för de allra flesta under mycket lång tid, och därför är ämnet för artikeln så relevant.

Så grovt sett måste jag öka den här filen, som inte är så liten för min dator att "smälta", med 10 gånger (eller lite mer, men det brukar vara mer text längst ner på bannern, så vi kommer anta att det är 10 och vi tar inte hänsyn till att banners vanligtvis är horisontella).

Alla ni vet att rutan för bildstorleksändring har Adobe Photoshop finns det alternativ i rullgardinsmenyn längst ner?

Allt du ser i rullgardinsmenyn är interpolationstyper. De där. algoritmer med vilka de saknade pixlarna i bilden kommer att beräknas.

De två första är särskilt gamla algoritmer och den första, Närmaste kvarter, Adobe Photoshop rekommenderas för att bevara kontrasterande kanter i en bild.

Kort sagt, om du beskriver dem, alltså Bikubisk mjukare ger mjuka övergångar mellan verkliga pixlar, och Bikubisk skarpare förbättrar kantkontrasten.

Problemet är att vi inte alltid vill ha de här mjuka övergångarna när vi zoomar in, och när vi zoomar ut ökar det kanterna för mycket, barbariskt. Detsamma kan göras försiktigt, manuellt, och vi återkommer till detta i slutet av artikeln.

Program och plug-ins för högkvalitativ bildförstoring

Eftersom min dator inte kan hantera den gigantiska resulterande filen på 1,9 Gpixel, använder jag ett fotofragment för att demonstrera ökningen med olika algoritmer.

Fragmentet är 607 pixlar brett. Jag ökar den till 3000 pixlar, d.v.s. 5 gånger.

originalfragment

Närmaste granne vs Bicubic Smoother

Som du kan se Närmaste kvarter ger en "stege", som Bikubisk mjukare suddar.

Programvaran PhotoZoom Pro 5

Enkelt gränssnitt, en stor uppsättning matematiska algoritmer för att öka med splines.
Lovande.

Jag tog exakt Bikubisk mjukare som en algoritm från Adobe eftersom de rekommenderar det. Och "stegen" på bilden är inte längre acceptabla i vår tid. Det här är inte 90-talet trots allt!
Tiden för pixel- och sprite-spel är förbi.

Från jämförelsen ser man det PhotoZoom Pro klarat uppgiften att öka bättre. Men är det mycket?

Alien Skin BlowUp2

OCH... PhotoZoom Pro5 vinner!

Skugga om

ReShade installeras som ett separat litet program.

gammalt program Skugga om(2011) vinner över de mer moderna och algoritmrika PhotoZoom Pro. jag försökte PhotoZoom Pro alla algoritmer och märkte ingen signifikant förbättring. Bara förlorad tid.

Så vi har en ny ledare - ReShade, som vi kommer att jämföra de återstående konkurrenterna med.

Kneson Imager

Separat program. Gränssnittet ser ut att vara från Win95.

AKVIS förstoringsglas

Plugin för Adobe Photoshop.

Gränssnittet är snyggt, och resultatet är bedrövligt.

Nästa plugin visade sig vara ledaren. Inte konstigt att jag pekat ut dem bland resten länge ...

OnOne Perfect Resize Professional Edition 7

Plugin för Adobe Photoshop.

ImageJ + Ändra storlek på plugin

Hört talas om det plugin men har inte provat det förrän nu.

Du måste ändra storleken via menyn "Plugins \ Resize \ Resize", metoden "Least-Squares"

Resultatet var inte imponerande. OnOne Perfect Resize vinner.

Adobe Photoshop + bikubisk skarpare

I hans bok Adobe Photoshop CS6-boken för digitala fotografer(Jag har CS6-versionen av boken) Scott Kelby rekommenderar att du använder algoritmen bikubisk vassare för att förstora fotot istället för det rekommenderade bikubisk slätare.
Tja... låt oss försöka.

Resultatet var inte imponerande. OnOne Perfect Resize vinner.

Resultat

1. Jag använder för kritiska bildförstoringar, vilket är vad jag önskar dig.

Skillnaden mellan standardsättet Adobe Photoshop Och OnOne Perfect Resize Professional Edition 7 stor och ganska märkbar i tryck.

2. Om du ska skriva ut mycket stora format, observera att det i CIS numera är vanligt att använda en upplösning på cirka 100 dpi för banners.

För bara stora bilder för utställning (1-2 m) använd 150 dpi om det är svårt att få fler. Betraktningsavstånd är vanligtvis begränsat till 1-2m och från detta betraktningsavstånd ser denna upplösning ganska acceptabel ut.

3. Om du fotograferar på en diabild i mellanformat kommer du att kunna "dra ut" upplösningar från den mycket högre än från en digitalkamera. Upp till 100 megapixlar.

4. Glöm inte skärpningstekniker. Jag jämförde algoritmerna för att öka upplösningen med skärpningen avstängd i artikeln. Men till sluttrycket brukar jag lägga till skärpa. Naturligtvis inte "på pannan", utan till exempel på det här sättet

Nästa gång kommer vi att prata om en lika viktig punkt - att minska storleken på foton för Internet. Det verkar som att det är enklare, men... Nästan alla program gör storleksminskning med en stor detaljförlust.

Jag hoppas att den här artikeln hjälper dig att göra vackra stora utskrifter av dina bilder!

Betygsätt den här artikeln

(40 röster, genomsnitt: 4,73 av 5)

Rekommendera

Prenumerera på RSS-flöde

Läs också:

Liknande artiklar hittades inte


Lägg till en kommentar Avbryt svar

Logga in med:

Gästerna kan ladda ner 2 bilder(kan markeras genom att klicka med vänster musknapp på filnamnen samtidigt som du håller ner tangenten ctrl), inte större än 800KB varje. Bilder måste vara i jpeg-, pjpeg-, png-format.

: 33 kommentarer

        • Roman, hej!

          Din "gilla" kommer bara att vara synlig om du är inloggad på ditt Google+-konto på en annan dator också. Annars kommer Google+ inte att känna igen dig och inte visa din "gilla".

          Jag kommer att lägga till C1 imorgon, föreslå fler metoder :) På jakt efter den idealiska...

          Bilden förstorades från 607 pixlar -> 3000 pixlar, d.v.s. 5 gånger.

          Jag nämnde i artikeln att 1,9 Gp min dator helt enkelt inte kommer att "smälta" i alla fall. Det är ingen idé att ens försöka.

          Om vi ​​tar de ursprungliga måtten på min fullständiga bild (3580 x 5382), så får vi 17900 x 26910 = 481 megapixlar (anständig kvalitet).

          Jag tror att varje första skrivare kommer att minnas mig med ett dåligt ord om jag ger honom en sådan fil... :) Fast han kommer inte behöva svära på skärpa.

          Helst, för att inte irritera skrivaren och behaga redaktören, är det värt att ge filer på maximalt 33 megapixlar. 40-50 som en sista utväg, om redaktören inte vet hur man räknar alls (förstår inte tryckprocessen).

          De där. å ena sidan är en 33 megapixel fil inte så svår för designern av publikationen, och å andra sidan kommer redaktören (som ofta inte förstår vilken upplösning han verkligen behöver) att vara nöjd med den höga upplösningen på nivån för genomsnittlig Sinar/Leaf/PhaseOne digital baksida. Döda Exif och du är ägaren till den virtuella digitala baksidan (de skriver inte Exif till en fil).

          Om vi ​​pratar om en banderoll kommer allt att bero på kraften i din dator, kraften hos tryckeriets dator och hur mycket rip (vanligtvis inte mer än 250mb) av tryckmaskinen kommer att "smälta". Förresten, det blir en annan fråga om deras tryckmaskin ger hög upplösning. Vanligtvis skrivs 3×6m banderoller ut med en maximal upplösning på 75 dpi så att alla kan leva lättare.

          Om vi ​​fördjupar oss i teorin (extra artikel försenad?), då när man skriver ut en banderoll 3 x 6 meter och ett visningsavstånd på 5m (om jag kommer relativt nära en skylt på ett ben), blir den lägsta utskriftsupplösningen 17 dpi , och filen kommer att vara 30 megapixlar. Närmare kommer som regel ingen till så stora banderoller.

          Jag svarar på resten imorgon...

          Bifogad bild:


            • När jag är inloggad på VKontakte trycker jag på VKontakte-knappen och länken öppnas omedelbart utan att fråga något ...

              Summan av kardemumman är att du måste vara inloggad och klicka på en knapp. Det här är det enklaste. Jag skulle i allmänhet ta bort den här funktionen för alla registrerade användare, men pluginet tillåter inte en sådan separation, och att öppna den för sökmotorer innebär att man inför en extra belastning på en redan knappt vändande server.

              Kommentaren borde förresten ha dykt upp på din sida på Google+! Om jag kunde hitta dig där skulle jag se om det finns en kommentar på väggen.

              efter foto:

              Jag ökade upplösningen på sidan, då jag skrev 607px-> 3000px.

              Det räcker. Jag bifogade diagrammet nedan till inlägget.

              Enligt mig är C1 desperat ljugande färger :) Fast de är trevligare än i ACR. Vad kan jag säga... C1 använder äldre ICC-profiler och ACR använder DCP-profiler. Jag använder inte LR, men jag misstänker att resultatet är detsamma som med ACR.

              Låt inte schemat avskräcka dig. Detta är grafen för det ideala fallet. De flesta av 0,5 m ser inte punkten ens vid 150 dpi, hur mycket de än försöker.

              Närmare än 0,5 ser ingen. obekväm näsa i affischen.

              Om du menar _med 80 %_, dvs. 100%->180%, då kommer upplösningen att sjunka motsvarande 300 dpi->166dpi. Med andra ord, du behöver inte ens göra rätt storleksändring, bara skriva ut större. Med 0,5 m kommer ingen att se skillnaden mellan 300 och 166.

              Ökningen i form av en geometrisk progression (1 2 4 8 ... pixlar) är knappast vettig. Det är högst överflödigt. Att öka 1 källpixel är lika med 8 i utgången är meningslöst. Det blir "tvål".

              Om tapeter. Ja, de "pumpar upp" och panorama. Och oftare "pumpas det upp" pga. att sy panoramabilder kräver relativt lång tid.

              Och då kommer skrivaren fortfarande att minska upplösningen. Han har mer än en klient och han behöver driva flödet. På en högupplöst tryckmaskin är utskriftshastigheten mycket låg och bläckförbrukningen stor. Fråga om besparingar...

              Det finns en sorglig upplevelse.

              Om du själv inte anger den maximala utskriftskvaliteten, kommer de att göra det på en låg. Jag pratar inte om rast, vilket också minskar upplösningen.

              Jag vet inte om fototapeter sys, men banderoller sys. Sällan där det finns 5-metersmaskiner. Det är bra att skriva ut filen med bra upplösning i bitar och sedan svetsa ihop bitarna. Detta kommer inte att öka upplösningen, men maskinens RIP kommer att kontrollera all information och du kan skriva ut maximalt för denna maskin. Det finns inget behov av att minska förrän RIP kan "smälta" det.

              Storformatspressar är mycket dyra och byts därför sällan. Det är därför deras stoppning inte är designad för så stora filstorlekar.

              3×4m kan göras från en vanlig 20mp ram. Kvaliteten är mycket bra (75-100 dpi)

              Jag skriver ut banderoller 3 m breda med detta format. Som regel finns det fler banderoller, men det finns redan flera bilder eller text (jag skriver också ut 3x6m).

              En banner från en fototapet i den aspekt som vi nu överväger är inte annorlunda.

              Du kan också komma nära honom och titta på punkterna, men detta är obekvämt eftersom. ta inte in hela bilden.

              Tryckmaterial, som inkluderar fototapeter (interiörtryck), brukar jag ge 150 dpi och det räcker. 300 dpi är bara för kataloger, och ibland är det mycket. Men jag ger med marginal (i betydelsen 300dpi, detta är redan med marginal!).

              Jag har lång erfarenhet av katalogtryck och storformatstryck. Ingen kommer att skriva ut din bild baserat på perfekt kvalitet. Det finns många faktorer: skrivaren, pressen, chefen, att spara bläck...

              Som ett resultat kommer du alltid att vara mer bekymrad över om färgerna på trycksaken kommer att överföras korrekt, och inte alls över upplösningen. Så att säga först _nödvändigt_ och sedan alla möjliga krusiduller i form av ökad upplösning. För om färgerna ljuger (och det är väldigt ofta), så kan dina produkter omedelbart lämnas över till returpapper.

              Produktion: det finns metoder för upplösningsförbättring (jag skrev dem i artikeln) och de är _tillräckliga_ för alla typer av utskrifter för att "överklocka" upplösningen.

              För superhög upplösning finns det alternativ att filma arkfilm på en storformatskamera. I USA är det många som gör detta och då kan man skriva ut storleken på en stor vägg utan att tappa upplösning. Du kan också skjuta b.w. på speciella 35 mm filmer som SPU, Gigabit etc. Med rätt framkallning är detaljen väldigt hög, men man får ge upp färg. Färgfilmer, även diabilder, ger inte den upplösningen. Behövs åtminstone. byta till mellanformat. Från dessa bilder kan du dra ut 100 megapixel verkliga.

              Ämnet är intressant, om allt inte förvärrades av bristen på normala tryckmaskiner och infrastrukturen som stöder dem.

              Om du panorerar och zoomar, i vilket skede är det då bättre att zooma in? - svar 2. När den färdiga filen är förstorad blir belastningen på datorn minst. Att sy flera gigantiska bitar är mycket mer problematiskt ...

              Alternativ 3 - dålig förstoringskvalitet.

              Jag ska skriva en artikel :)

              i applikationen mina banners. bilden är liten, du kan se allt utan prickar och på en stor

              Bifogad bild:


Varför ser en bild skalad med bikubisk interpolation annorlunda ut än Photoshop. Varför ändrar ett program storlek snabbt och det andra inte, även om resultatet är detsamma. Vilken storleksändringsmetod är bäst för att öka och vilken för att minska. Vad gör filter och hur skiljer de sig åt.

I allmänhet var detta en introduktion till en annan artikel, men det drog ut på tiden och resulterade i ett separat material.

Den här personen sitter bland prästkragarna för att uppmärksamma dig på artikeln.

För visuell jämförelse kommer jag att använda bilder med samma upplösning 1920x1280 (en, sekund), vilket kommer att resultera i storlekarna 330x220, 1067x667 och 4800x3200. Under illustrationerna kommer det att skrivas hur många millisekunder det tog att ändra storlek till en viss upplösning. Siffrorna ges endast för att förstå komplexiteten i algoritmen, så den specifika hårdvaran eller mjukvaran som de erhölls på är inte så viktig.

Närmaste granne

Detta är den mest primitiva och snabbaste metoden. För varje pixel i den slutliga bilden väljs en pixel av källbilden som är närmast dess position, med hänsyn tagen till skalning. Denna metod ger en pixlad bild när den förstoras och en mycket kornig bild när den förminskas.

I allmänhet kan kvaliteten och prestandan för varje reduktionsmetod bedömas av förhållandet mellan antalet pixlar som är involverade i bildningen av den slutliga bilden och antalet pixlar i originalbilden. Ju större detta förhållande är, desto mer sannolikt är algoritmen bättre och långsammare. Ett förhållande på ett betyder att minst varje pixel i källbilden har bidragit till den slutliga bilden. Men för avancerade metoder kan det vara mer än en. Så om vi till exempel reducerar bilden med metoden närmaste granne med 3 gånger på varje sida, så är detta förhållande 1/9. De där. de flesta av de ursprungliga pixlarna beaktas inte på något sätt.




1920x1280 → 330x220 = 0,12 ms
1920x1280 → 1067x667 = 1,86 ms

Den teoretiska arbetshastigheten beror endast på storleken på den slutliga bilden. I praktiken, när de minskar, bidrar processorcachemissar: ju mindre skala, desto mindre data används från varje rad som laddas in i cachen.

Metoden används medvetet för att minska extremt sällan, eftersom. ger mycket dålig kvalitet, även om det kan vara användbart när det förstoras. På grund av snabbheten och enkla implementeringen är det i alla bibliotek och applikationer som fungerar med grafik.

Affina transformationer

Affina transformationer är en vanlig metod för att förvränga bilder. De låter dig rotera, sträcka och reflektera bilden i en operation. Därför, i många applikationer och bibliotek som implementerar den affina transformationsmetoden, är bildändringsfunktionen bara ett omslag som beräknar koefficienterna för transformationen.

Funktionsprincipen är att för varje punkt i den slutliga bilden tas en fast uppsättning punkter av källbilden och interpoleras i enlighet med deras inbördes position och det valda filtret. Antalet poäng beror också på filtret. För bilinjär interpolation tas 2x2 källpixlar, för bikubisk 4x4. Denna metod ger en jämn bild när den zoomas in, men när den zoomas ut är resultatet mycket likt en närmaste granne. Se själv: teoretiskt, med ett bikubiskt filter och en 3-faldig reduktion, är förhållandet mellan bearbetade pixlar och de ursprungliga 4² / 3² = 1,78. I praktiken är resultatet mycket sämre. i befintliga implementeringar skalas inte filterfönstret och interpolationsfunktionen enligt bildskalan, och pixlar närmare fönstrets kant tas med negativa koefficienter (enligt funktionen), d.v.s. ger inte ett användbart bidrag till den slutliga bilden. Som ett resultat av detta skiljer sig en bild förminskad med ett bikubiskt filter från en bild förminskad med ett bilinjärt filter endast genom att den är ännu skarpare. Tja, för ett bilinjärt filter och en trefaldig reduktion är förhållandet mellan bearbetade pixlar och de ursprungliga 2² / 3² = 0,44, vilket inte skiljer sig fundamentalt från närmaste granne. Faktum är att affina transformationer inte kan användas för att reducera mer än en faktor 2. Och även när de reduceras till två gånger ger de märkbara stegeffekter för linjer.

Teoretiskt sett borde det finnas implementeringar av exakt affina transformationer som skalar filterfönstret och själva filtret i enlighet med de givna distorsionerna, men jag har inte sett sådana i populära bibliotek med öppen källkod.




1920x1280 → 330x220 = 6,13 ms
1920x1280 → 1067x667 = 17,7 ms
1920x1280 → 4800x3200 = 869 ms

Körtiden är märkbart längre än den för närmaste granne, och beror på storleken på den slutliga bilden och fönsterstorleken för det valda filtret. Det beror nästan inte på cachemissar, eftersom källpixlar används minst två och en.

Min ödmjuka åsikt är att det är helt enkelt att använda denna metod för att godtyckligt reducera bilder är en bugg, eftersom resultatet är mycket dåligt och ser ut som en närmaste granne, och denna metod kräver mycket mer resurser. Den här metoden har dock fått bred tillämpning i program och bibliotek. Det mest överraskande är att denna metod används i alla webbläsare för dukens drawImage()-metod (illustrerande exempel), även om snyggare metoder används för att helt enkelt visa bilder i ett element (förutom IE, som använder affina transformationer för båda fallen). Dessutom används en sådan metod i OpenCV, den nuvarande versionen av Pillow Python-biblioteket (jag hoppas kunna skriva om detta separat), i Paint.NET.

Dessutom är det denna metod som grafikkort använder för att rendera 3D-scener. Men skillnaden är att grafikkort förbereder en uppsättning reducerade versioner (mip-nivåer) för varje textur i förväg, och för den slutliga renderingen väljs en nivå med en sådan upplösning att texturreduktionen inte är mer än två gånger. Dessutom, för att eliminera ett skarpt hopp när du ändrar mip-nivån (när det strukturerade objektet närmar sig eller flyttar sig bort), används linjär interpolation mellan intilliggande mip-nivåer (detta är redan trilinjär filtrering). För att rita varje pixel i ett 3D-objekt måste du alltså interpolera mellan 2³ pixlar. Detta ger ett resultat som är acceptabelt för en snabbrörlig bild i en tid som är linjär med avseende på den slutliga upplösningen.

Supersampling (Supersampling)

Med hjälp av den här metoden skapas samma mip-nivåer, med hjälp av det (om mycket förenklat) fungerar helskärmskantutjämning i spel. Dess kärna är att dela upp källbilden i ett rutnät av pixlar för destinationen och lägga till alla källpixlar som faller på varje pixel av destinationen i enlighet med området som föll under den slutliga pixeln. När du använder den här metoden för att zooma, finns det exakt en pixel i källbilden för varje pixel i den slutliga bilden. Därför blir resultatet för ökningen lika med närmaste granne.

Två underarter av denna metod kan särskiljas: med avrundning av pixelgränser till närmaste heltal av pixlar och utan. I det första fallet blir algoritmen olämplig för att skala mindre än 3 gånger, eftersom en slutpixel kan ha en initial pixel och den intilliggande kan ha fyra (2x2), vilket leder till disproportion på lokal nivå. Samtidigt kan avrundningsalgoritmen uppenbarligen användas i fall där storleken på källbilden är en multipel av storleken på den sista, eller reduktionsskalan är tillräckligt liten (versioner med en upplösning på 330×220 är nästan det samma). Förhållandet mellan de bearbetade pixlarna och de ursprungliga vid avrundning av gränserna är alltid lika med ett.




1920x1280 → 330x220 = 7ms
1920x1280 → 1067x667 = 15ms
1920x1280 → 4800x3200 = 22,5 ms

Subview utan avrundning ger utmärkt kvalitet när den zoomas ut i valfri skala, och inzooming ger en märklig effekt där det mesta av originalpixeln i den slutliga bilden ser enhetlig ut, men det finns en övergång i kanterna. Förhållandet mellan de bearbetade pixlarna och originalet utan att avrunda gränserna kan vara från en till fyra, eftersom varje källpixel bidrar antingen till en slutlig, eller till två angränsande, eller till fyra angränsande pixlar.




1920x1280 → 330x220 = 19ms
1920x1280 → 1067x667 = 45ms
1920x1280 → 4800x3200 = 112ms

Prestandan för denna reduktionsmetod är lägre än den för affina transformationer, eftersom alla pixlar i källbilden är involverade i beräkningen av den slutliga bilden. Den version som avrundas till närmaste gränser är vanligtvis flera gånger snabbare. Det är också möjligt att skapa separata versioner för att skala ett fast antal gånger (t.ex. 2x nedskalning) vilket blir ännu snabbare.

Denna metod används i gdImageCopyResampled()-funktionen i GD-biblioteket som ingår i PHP, tillgängligt i OpenCV (INTER_AREA-flagga), Intel IPP, AMD Framewave. Ungefär samma princip fungerar libjpeg när den öppnar bilder i förminskad form flera gånger. Det senare tillåter många applikationer att öppna förstorade JPEG-bilder flera gånger mindre utan mycket overhead (i praktiken öppnar libjpeg miniatyrbilder till och med något snabbare än fullstora) och sedan använda andra metoder för att ändra storlek till exakta storlekar. Om du till exempel behöver ändra storlek på en 1920x1280 JPEG till 330x220, kan du öppna originalbilden i 480x320 och sedan skala ner den till önskat 330x220.

Varvningar

Denna metod liknar affina transformationer genom att den använder filter, men har inte ett fast fönster, utan ett fönster som är proportionellt mot skalan. Till exempel, om filterfönstrets storlek är 6 och bildstorleken minskas med 2,5 gånger, så deltar (2,5 * 6)² = 225 pixlar i bildandet av varje pixel i den slutliga bilden, vilket är mycket mer än i fallet med supersampling (från 9 till 16). Lyckligtvis kan faltningar beräknas i 2 omgångar, först i en riktning, sedan i den andra, så den algoritmiska komplexiteten för att beräkna varje pixel är inte 225, utan endast (2,5 * 6) * 2 = 30. Bidraget från varje källpixel till den sista pixeln är som tider som bestäms av filtret. Förhållandet mellan de bearbetade pixlarna och de ursprungliga bestäms helt av storleken på filterfönstret och är lika med dess kvadrat. De där. för ett bilinjärt filter kommer detta förhållande att vara 4, för ett bikubiskt filter 16, för Lanczos 36. Algoritmen fungerar bra för att både minska och öka.




1920x1280 → 330x220 = 76ms
1920x1280 → 1067x667 = 160ms
1920x1280 → 4800x3200 = 1540ms

Hastigheten för denna metod beror på alla parametrar: storleken på källbilden, storleken på den slutliga bilden, storleken på filterfönstret.

Detta är metoden implementerad i ImageMagick, GIMP, i den nuvarande versionen av Pillow med ANTIALIAS-flaggan.

En av fördelarna med denna metod är att filter kan ställas in av en separat funktion som inte är knuten på något sätt till implementeringen av metoden. I det här fallet kan funktionen för själva filtret vara ganska komplex utan mycket prestandaförlust, eftersom koefficienterna för alla pixlar i en kolumn och för alla pixlar i en rad endast beaktas en gång. De där. själva filterfunktionen kallas endast (m + n) * w gånger, där m och n är dimensionerna för den slutliga bilden och w är storleken på filterfönstret. Och många av dessa funktioner kan nitas, det skulle finnas en matematisk motivering. I ImageMagick, till exempel, finns det 15 av dem. Här är de mest populära:

Bilinjärt filter (bilinjärt eller triangel i ImageMagick)


Bikubiskt filter (bikubiskt , catrom i ImageMagick)


Lanczos filter (Lanczos)

Det är anmärkningsvärt att vissa filter har zoner med negativa koefficienter (som ett bikubiskt filter eller ett Lanczos-filter). Detta är nödvändigt för att ge övergångarna på den slutliga bilden skärpan som var på originalet.

För att öka eller minska storleken på en bild använder Photoshop interpolationsmetoden. Så, till exempel, när du zoomar in på en bild, skapar Photoshop ytterligare pixlar baserat på värdena för närliggande. Grovt sett, om en pixel är svart och den andra är vit, kommer Photoshop att beräkna medelvärdet och skapa en ny grå pixel. Vissa typer av interpolation är snabba och av dålig kvalitet, andra är mer komplexa, men de ger goda resultat.

Låt oss först gå till huvudmenyn Bild - Bildstorlek (Bild - Bildstorlek) eller Alt+Ctrl+I.

Om du klickar på pilen bredvid parametern Omsampling (omsampling av bild), då visas flera interpolationsalternativ i popup-fönstret:

  • Automatisk. Photoshop väljer en omsamplingsmetod baserat på typen av dokument och om det skalas upp eller ned.
  • Bevara detaljer (förstoring). När denna metod väljs blir brusreduceringsreglaget tillgängligt för att jämna ut brus när bilden skalas.
  • Bevara detaljer 2.0. Denna algoritm ger ett mycket intressant resultat av att förstora bilden. Detaljen blir förstås inte mer detaljerad utan den som utökas ganska mycket utan att tappa tydlighet.
  • . En bra metod för att förstora bilder baserat på bikubisk interpolation, designad specifikt för jämnare resultat.
  • Bicubic Sharper (reduktion). En bra metod för bildstorleksreduktion är baserad på skärpt bikubisk interpolation. Med den här metoden kan du bevara detaljerna i den omsamplade bilden. Om "Bicubic Downscale"-interpolation gör vissa områden av bilden för skarpa, försök att använda bicubic interpolation.
  • Bikubisk (släta gradienter). En långsammare men mer exakt metod baserad på analys av färgvärdena för de omgivande pixlarna. På grund av användningen av mer komplexa beräkningar ger bikubisk interpolation jämnare färgövergångar än interpolering av angränsande pixlar eller bilinjär interpolation.
  • Genom angränsande pixlar (hårda kanter) (Närmaste granne (hårda kanter)). En snabb men mindre exakt metod som replikerar pixlarna i en bild. Denna metod bevarar skarpa kanter och ger en reducerad filstorlek i illustrationer som innehåller grova kanter. Den här metoden kan dock skapa ojämna kanter som blir märkbara när du förvränger eller skalar bilden, eller gör många markeringsoperationer.
  • Bilinjär (bilinjär). Denna metod lägger till nya pixlar genom att beräkna det genomsnittliga färgvärdet för de omgivande pixlarna. Det ger ett genomsnittligt kvalitetsresultat.

Användningsexempel Bicubic Smoother (förstoring):

Det finns ett foto, mått 600 x 450 pixlar upplösning 72 dpi

Vi måste öka den. Öppnar ett fönster Bildstorlek och välj Bicubic Smoother (förstoring), måttenheter - procent.

Måtten på dokumentet kommer omedelbart att ställas in på 100 %. Därefter kommer vi gradvis att öka bilden. Ändra värdet från 100 % till 110 %. När du ändrar bredden justeras höjden automatiskt.

Nu är dess dimensioner redan 660 x 495 pixlar. Genom att upprepa dessa steg kan goda resultat uppnås. Naturligtvis kommer det att vara ganska svårt för oss att uppnå perfekt klarhet, eftersom bilden var liten och låg upplösning. Men titta på förändringarna i pixlar.

Hur stora kan vi göra foton tack vare interpolationsmetoden? Allt beror på kvaliteten på bilden, hur det togs och i vilket syfte du förstora det. Bästa svaret: ta det och se själv.

Vi ses i nästa lektion!