Hur skalar jag ner en bild till en mindre storlek i GIMP utan onödig förlust av upplösning? Jag vet att jag tappar för mycket bildupplösning, för när jag nedskalar samma bild med HTML-kod och visar den i en webbläsare får jag en märkbart skarpare upplösning. Med märkbart skarpare menar jag att detaljer som var helt frånvarande i den nedskalade bilden i GIMP visas som de borde vara i webbläsaren, och skillnaden i upplösning är lätt synlig utan att zooma in på bilden.
Jag har redan provat svaren på följande två frågor, men inget av svaren gav mig samma bildupplösning som jag får med min HTML-kod.
Jag letar inte efter rekommendationer för webbapplikationer eller tjänster. Jag vill hitta ett sätt att nedskalera bilder lokalt på min dator utan onödig förlust av upplösning.
Kommentarer
Svar
Skalning av bitmappar är aldrig utan förlust. Både uppskalning och nedskalning kommer att ge interpolationsartefakter. Detta kan göras mycket bättre med vektorgrafik. Så om vi kan spåra bitmappen får vi bättre resultat.
Skalningsartefakter blir ännu tydligare när de görs på en indexerad bild. Vi kan inte beräkna interpolerade färger vid nedskalning av en indexerad bild.
För att fortfarande kunna skala en indexerad bild bör vi därför ändra bildläget till RGB innan vi skalar den. Detaljer om nedskalning bevaras då mycket bättre:
Om vi behöver ett indexerat bildläge kan vi ändra tillbaka det efter skalning.
Kommentarer
- Att byta bildläge till RGB var vad jag letade efter, så när du nedskalar täcker du förlusten med halvgenomskinliga pixlar för att simulera den ursprungliga jämnheten . Läge kan växlas under Bild- > Läge – > RGB
Svar
Detta svar föreslogs av Paolo Gibellini i två kommentarer. Det är också möjligt att nedskalera en bild utan att förlora för mycket upplösning i GIMP med en liknande metod, men jag föredrar att använda Inkscape eftersom det är mycket lättare att göra det med Inkscape.
-
Originalbilden kan ha ett filformat som .png, .svg, .jpg, etc., helst .png eller .svg eftersom Inkscape sparar .jpg-bilder som .png-filer.
-
Öppna originalbildfilen i Inkscape. När du öppnar filen öppnar Inkscape ett litet fönster som ber dig välja antingen länk eller bädda in bild. Klicka på alternativknappen för att välja embed.
-
Välj File -> Exportera bitmapp . Detta öppnar ett litet Export Bitmap-fönster.
-
Under rubriken Exportområde i fönstret Exportera bitmapp klickar du på Sida -knapp.
-
Under Bitmappstorlek rubrik i fönstret Exportera bitmapp välj nya värden för Bredd och Höjd för att nedskalera bilden.
-
Klicka på knappen Bläddra och bläddra till mappen där filen kommer att sparas.
-
Skriv ett namn för den exporterade filen med ett .png-tillägg för att spara den som en .png-fil eller med en .svg-förlängning för att spara den som en .svg-fil, etc. .
-
Klicka på knappen Spara .
-
Klicka på Exportera -knapp.
Svar
Ett svar som endast använder rasterbildbearbetning
Tekniskt förlorar du upplösningen när du nedskalar, eftersom du visar samma bild med färre pixlar. Frågan är därför att undvika mer upplösningsförlust än absolut nödvändigt. Den extra upplösningsförlusten beror vanligtvis på rumslig frekvensveckning , så dessa höga frekvenser måste tas bort innan de skalas ned. Och att undertrycka höga rumsliga frekvenser suddar bara bilden. Så:
-
Filter>Blur>Gaussian blur
- Använd en suddighetsradie som är lika med din skalningsfaktor (1024-> 240, suddighetsradie = 4,3 , notera att Gimp låter dig ange radien som
1024/240
och göra beräkningen åt dig). - När suddigheten har applicerats,
Image>Scale image
- Du kan återställa lite visuell pop med ett skärpningsfilter (här:
Filters>Enhance>Unsharp mask
med radie = 1 och mängd = 1)
Svar
Jag minns att jag för länge sedan läste en artikel där de föreslagna stegen var att ändra storlek i steg om 0,5x och använda Unsharp Mask (0,6 radie, 1 tröskel om jag minns rätt) .
Till exempel om den ursprungliga bilden är 3300×3300 och du vill ändra storleken på den till 200×200:
- Ändra storlek till 1650×1650 (us den bästa interpoleringsalgoritmen, t.ex. kubik)
- Använd Unsharp Mask 0.6 / 1 en gång.
- Ändra storlek på 825×825
- Applicera Unsharp Mask 0.6 / 1 en gång.
- Ändra storlek till 412×412
- Använd Unsharp Mask 0.6 / 1 en gång.
- Ändra storlek på 200×200 (vill inte ändra storlek på 206×206 och sedan 200×200 eftersom det förlorar kvalitet)
Här är ett exempel på en artikel som visar skillnaden mellan 1-stegs storlek och flerstegs storlek. Det visar också skillnaden mellan tillämpa oskarp mask innan varje storlek ändras mot efter. Observera att den använder olika parametrar för Oskarp mask, så du kan behöva experimentera.
Svar
Lärobokmetoden är Sinc / Lanczos nedprovningsmetod i skala. Tyvärr har den tagits bort 2.10.
Något som liknar Sinc är gaussisk suddighet följt av skala med INGEN interpolering.
<img>
attribut för bredd och höjd.