Jak zmniejszyć obraz do mniejszego rozmiaru w GIMP bez niepotrzebnej utraty rozdzielczości? Wiem, że tracę zbyt dużą rozdzielczość obrazu, ponieważ kiedy zmniejszam ten sam obraz za pomocą kodu HTML i wyświetlam go w przeglądarce internetowej, otrzymuję zauważalnie wyższą rozdzielczość. Przez zauważalnie ostrzejsze rozumiem, że szczegóły, które były całkowicie nieobecne na zmniejszonym obrazie w GIMP, są wyświetlane tak, jak powinny być w przeglądarce internetowej, a różnica w rozdzielczości jest łatwo widoczna bez powiększania obrazu.
Próbowałem już odpowiedzieć na dwa poniższe pytania, ale żadna z nich nie dała mi takiej samej rozdzielczości obrazu, jaką otrzymuję z kodem HTML. / p>
Nie szukam zalecenia dotyczące aplikacji lub usług internetowych. Chcę znaleźć sposób na zmniejszenie skali obrazów lokalnie na moim komputerze bez niepotrzebnej utraty rozdzielczości.
Komentarze
Odpowiedź
Skalowanie bitmap to nigdy bez strat. Zarówno skalowanie w górę, jak i w dół spowoduje powstanie artefaktów interpolacji. Można to zrobić znacznie lepiej w przypadku grafiki wektorowej. Jeśli więc prześledzimy bitmapę, uzyskamy lepsze wyniki.
Skalowanie artefaktów staje się jeszcze bardziej oczywiste, gdy wykonuje się je na indeksowanym obrazie. Nie możemy obliczyć interpolowanych kolorów podczas zmniejszania indeksowanego obrazu.
Aby nadal móc skalować indeksowany obraz, powinniśmy zatem zmienić tryb obrazu na RGB, zanim go skalujemy. Szczegóły dotyczące zmniejszania będą wtedy znacznie lepiej zachowane:
Jeśli potrzebujemy trybu indeksowanego obrazu, możemy go zmienić z powrotem po skalowaniu.
Komentarze
- Zmiana trybu obrazu na RGB była tym, czego szukałem, więc kiedy zmniejszysz skalę, pokryjesz stratę półprzezroczystymi pikselami, aby zasymulować oryginalną gładkość . Tryb można zmienić w Obraz- > Tryb – > RGB
Odpowiedź
Ta odpowiedź została zasugerowana przez Paolo Gibelliniego w dwóch komentarzach. Możliwe jest również zmniejszenie skali obrazu bez utraty zbyt dużej rozdzielczości w GIMP przy użyciu podobnej metody, jednak wolę używać Inkscape, ponieważ „jest to o wiele łatwiejsze do zrobienia w Inkscape.
-
Oryginalny obraz może mieć format pliku, taki jak .png, .svg, .jpg itp., najlepiej .png lub .svg, ponieważ Inkscape zapisze obrazy .jpg jako pliki .png.
-
Otwórz oryginalny plik obrazu w Inkscape. Po otwarciu pliku Inkscape otworzy małe okno z prośbą o wybranie łącza lub osadzonego obrazu. Kliknij przycisk radiowy, aby wybrać osadzone.
-
Wybierz Plik -> Eksportuj bitmapę . Otworzy się małe okno Eksportuj mapę bitową.
-
Pod nagłówkiem Obszar eksportu w oknie Eksportuj bitmapę kliknij Przycisk Strona .
-
Pod Rozmiar mapy bitowej w oknie Export Bitmap wybierz nowe wartości dla Width i Height, aby zmniejszyć obraz.
-
Kliknij przycisk Przeglądaj i przejdź do folderu w którym plik zostanie zapisany.
-
Wpisz nazwę eksportowanego pliku z rozszerzeniem .png, aby zapisać go jako plik .png lub z rozszerzeniem .svg, aby zapisać go jako plik .svg itp. .
-
Kliknij przycisk Zapisz .
-
Kliknij przycisk Eksportuj .
Odpowiedź
Odpowiedź wykorzystująca tylko przetwarzanie obrazu rastrowego
Technicznie rzecz biorąc, tracisz rozdzielczość przy zmniejszaniu skali, ponieważ wyświetlasz ten sam obraz z mniejszą liczbą pikseli. Chodzi zatem o to, aby uniknąć większej utraty rozdzielczości niż jest to absolutnie konieczne. Dodatkowa utrata rozdzielczości jest zwykle spowodowana przestrzennym zwijaniem częstotliwości , więc te wysokie częstotliwości muszą zostać usunięte przed skalowaniem w dół. A tłumienie wysokich częstotliwości przestrzennych po prostu rozmazuje obraz. A więc:
-
Filter>Blur>Gaussian blur
- Użyj promienia rozmycia równego współczynnikowi skalowania (1024-> 240, promień rozmycia = 4,3 pamiętaj, że Gimp pozwoli Ci wprowadzić promień jako
1024/240
i wykonać obliczenia za Ciebie). - Po zastosowaniu rozmycia
Image>Scale image
- Możesz przywrócić trochę wizualnego popu za pomocą filtra wyostrzającego (tutaj:
Filters>Enhance>Unsharp mask
with radius = 1 i amount = 1)
Odpowiedź
Pamiętam, jak dawno temu czytałem artykuł, w którym sugerowane kroki polegały na zmianie rozmiaru w krokach co 0,5x i zastosowaniu maski wyostrzającej (promień 0,6, 1 próg, jeśli dobrze pamiętam) .
Na przykład, jeśli obraz początkowy ma 3300×3300 i chcesz zmienić jego rozmiar na 200×200:
- Zmień rozmiar na 1650×1650 (nas stosowanie najlepszego algorytmu interpolacji, np. cubic)
- Zastosuj raz maskę wyostrzającą 0.6 / 1.
- Zmień rozmiar na 825×825
- Zastosuj raz maskę wyostrzającą 0.6 / 1.
- Zmień rozmiar do 412×412
- Zastosuj raz maskę wyostrzającą 0.6 / 1.
- Zmień rozmiar na 200×200 (nie chcę zmieniać rozmiaru 206×206, a następnie 200×200, ponieważ spowoduje to utratę jakości)
Oto przykład artykułu , który przedstawia różnicę między jednoetapową a kilkustopniową zmianą rozmiaru. Pokazuje również różnicę między stosowanie maski wyostrzającej przed każdą zmianą rozmiaru w porównaniu z późniejszą. Zauważ, że używa ona różnych parametrów dla maski wyostrzającej, więc może być konieczne eksperymentowanie.
Odpowiedź
Metoda podręcznikowa to metoda Sinc / Lanczosa w dół skali. Niestety, została ona usunięta w 2.10.
Coś podobnego do Sinc to rozmycie gaussowskie, po którym następuje skala bez interpolacji.
<img>
atrybuty szerokości i wysokości.