Hej tam! Jako dostawca poduszek zajmuję się nie tylko dostarczaniem poduszek najwyższej klasy, ale interesuję się także stroną techniczną. Dzisiaj porozmawiam o tym, jak zmniejszyć liczbę kolorów w obrazie za pomocą Pillow.
Na początek pozwólcie, że przedstawię niektóre z naszych niesamowitych poduszek. MamyOrganiczna poduszka gryczana zdrowotna, który jest super zdrowy i daje świetne wsparcie. Potem jestPoduszka puchowa z mikrofibry Hilton, miękki jak chmura. I nie zapomnij oPoduszka do spania z naturalnego lateksu, co jest jednocześnie przyjazne dla środowiska i wygodne.
Wróćmy teraz do biblioteki Pillow. Pillow to naprawdę fajna biblioteka Pythona, będąca rozwidleniem biblioteki Python Imaging Library (PIL). Dzięki niemu praca z obrazami staje się dziecinnie prosta. Zmniejszenie liczby kolorów na obrazie może być bardzo przydatne. Być może próbujesz zoptymalizować obraz na potrzeby Internetu lub pracujesz nad projektem, w którym potrzebujesz bardziej ograniczonej palety kolorów.
Instalowanie poduszki
Zanim zaczniemy, musisz mieć zainstalowaną poduszkę. Jeśli jeszcze tego nie zrobiłeś, możesz użyć pip, aby go zainstalować. Po prostu otwórz terminal i wpisz:
pip zainstaluj poduszkę
Po zainstalowaniu jesteś gotowy do pracy.
Ładowanie obrazu
Pierwszym krokiem jest załadowanie obrazu, z którym chcesz pracować. Oto prosty fragment kodu, który to umożliwia:


z importu PIL Obraz nr Otwórz obraz image = Image.open('your_image.jpg')
Po prostu wymień„twój_obrazek.jpg”z rzeczywistą ścieżką do pliku obrazu.
Redukcja kolorów
Istnieje kilka sposobów zmniejszenia liczby kolorów obrazu za pomocą funkcji Pillow. Jedną z powszechnych metod jest użyciekwantyzować()metoda. Ta metoda zmniejsza liczbę kolorów w obrazie do określonej liczby.
Oto przykład:
# Zmniejsz liczbę kolorów do 256 zmniejszony_image = image.quantize(colors = 256) # Zapisz zmniejszony obraz zmniejszony_image.save('reduced_image.jpg')
W tym kodzie zmniejszamy liczbę kolorów obrazu do 256. Możesz zmienićzabarwienieparametr na dowolną liczbę. Niższa liczba spowoduje bardziej pikselowy wygląd, natomiast wyższa liczba pozwoli zachować więcej szczegółów oryginalnego koloru.
Stosowanie różnych metod kwantyzacji
Pillow oferuje również różne metody kwantyzacji. Domyślną metodą jestObraz.FASTOCTREE, ale możesz użyć innych metod, takich jakObraz.MEDIANCUTLubObraz.MAXCOVERAGE.
Oto jak możesz skorzystać zMEDIACUTmetoda:
# Zmniejsz liczbę kolorów za pomocą metody MEDINCUT zmniejszony_image = image.quantize(colors = 256, metoda = Image.MEDIANCUT) # Zapisz zmniejszony obraz zmniejszony_image.save('reduced_image_mediancut.jpg')
TheMEDIACUTMetoda stara się rozmieścić kolory w sposób maksymalizujący różnicę kolorów pomiędzy pozostałymi kolorami.
Porównanie różnych wyników kwantyzacji
Dobrym pomysłem jest porównanie wyników różnych metod kwantyzacji. Można to zrobić, zapisując wiele wersji zmniejszonego obrazu różnymi metodami i przeglądając je obok siebie.
# Zmniejsz kolory różnymi metodami octree_image = image.quantize(colors = 256, method = Image.FASTOCTREE) mediancut_image = image.quantize(colors = 256, method = Image.MEDIANCUT) maxcoverage_image = image.quantize(colors = 256, method = Image.MAXCOVERAGE) # Zapisz obrazy octree_image.save('octree_image.jpg') mediancut_image.save('mediancut_image.jpg') maxcoverage_image.save('maxcoverage_image.jpg')
Patrząc na te obrazy, możesz zdecydować, która metoda będzie najlepsza dla Twoich konkretnych potrzeb.
Praca z przejrzystością
Jeśli Twój obraz jest przezroczysty, musisz zachować nieco większą ostrożność. Kiedy używaszkwantyzować()może nie obsługiwać poprawnie przezroczystości. Jednym ze sposobów poradzenia sobie z tym jest konwersja obrazu do trybu RGBA przed kwantyzacją.
# Konwertuj obraz do trybu RGBA rgba_image = image.convert('RGBA') # Zmniejsz liczbę kolorów zredukowany_rgba_image = rgba_image.quantize(colors = 256) # Zapisz zmniejszony obraz zredukowany_rgba_image.save('reduced_rgba_image.png')
Pamiętaj, że zapisujemy obraz jako plik PNG, ponieważ PNG obsługuje przezroczystość.
Wniosek
Zmniejszanie liczby kolorów obrazu za pomocą funkcji Pillow jest całkiem proste. Niezależnie od tego, czy jesteś programistą chcącym zoptymalizować obrazy na potrzeby Internetu, czy artystą pracującym nad projektem z ograniczoną paletą kolorów, Pillow ma wszystko, czego potrzebujesz.
Jeśli interesują Cię nasze poduszki, mamy szeroką gamę opcji dostosowanych do Twoich potrzeb. ZOrganiczna poduszka gryczana zdrowotnadoPoduszka puchowa z mikrofibry HiltoniPoduszka do spania z naturalnego lateksu, jesteśmy tutaj, aby zapewnić Ci najlepszy sen.
Jeśli jesteś zainteresowany zakupem naszych poduszek hurtowo, skontaktuj się z nami w celu omówienia zakupu. Zawsze chętnie porozmawiamy o tym, jak możemy spełnić Twoje potrzeby.
Referencje
- Oficjalna dokumentacja poduszki
- Oficjalna dokumentacja Pythona
