Jak zmniejszyć liczbę kolorów na obrazie za pomocą poduszki?

Dec 02, 2025

Zostaw wiadomość

Isabella Anderson
Isabella Anderson
Isabella jest nowym pracownikiem w Yangzhou Xinkai Textile Hotel Supplies Factory. Choć nowa w pracy, jest pełna entuzjazmu i szybko się uczy i rozwija się w kulturze „First First First, służbą z sercem”.

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:

Hilton Microfiber Down Pillow suppliersOrganic Health Buckwheat Pillow

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
Wyślij zapytanie
Kontakt z USIF ma jakieś pytanie
Możesz skontaktować się z nami przez telefon, e -mail lub formularz online poniżej. Nasz specjalista wkrótce się z Tobą skontaktuje.
Skontaktuj się z nami