Bok tamo! Kao dobavljač jastuka, ne bavim se samo pružanjem vrhunskih jastuka, već volim i tehnološku stranu stvari. Danas ću govoriti o tome kako smanjiti broj boja na slici koristeći Pillow.
Prvo, dopustite mi da vam predstavim neke od naših sjajnih jastuka. ImamoOrganski zdravstveni jastuk od heljde, koji je super zdrav i daje veliku podršku. Zatim tu jeHilton jastuk od mikrofibre, mekan kao oblak. I ne zaboraviteJastuk za spavanje od prirodnog lateksa, koji je ekološki prihvatljiv i udoban.
Vratimo se sad knjižnici Pillow. Pillow je stvarno cool Python biblioteka koja je račvanje Python Imaging Library (PIL). Čini rad sa slikama lakim. Smanjenje broja boja na slici može biti vrlo korisno. Možda pokušavate optimizirati sliku za web ili radite na projektu gdje vam je potrebna ograničenija paleta boja.
Ugradnja jastuka
Prije nego što počnemo, morate imati instaliran jastuk. Ako već niste, možete koristiti pip da ga instalirate. Samo otvorite terminal i upišite:
pip instalirati jastuk
Kada se instalira, spremni ste za rad.
Učitavanje slike
Prvi korak je učitavanje slike s kojom želite raditi. Evo jednostavnog isječka koda za to:


from PIL import Image # Open the image image = Image.open('your_image.jpg')
Samo zamijeni'vaša_slika.jpg'sa stvarnim putem do vaše slikovne datoteke.
Smanjenje boja
Postoji nekoliko načina za smanjenje broja boja na slici koristeći Pillow. Jedna uobičajena metoda je korištenjekvantiziraj()metoda. Ova metoda smanjuje broj boja na slici na određeni broj.
Evo primjera:
# Smanjite broj boja na 256reduced_image = image.quantize(colors = 256) # Spremite smanjenu slikureduced_image.save('reduced_image.jpg')
U ovom kodu smanjujemo broj boja na slici na 256. Možete promijenitibojeparametar na bilo koji broj koji želite. Niži broj rezultirat će pikseliziranijim izgledom, dok će veći broj zadržati više originalnih detalja u boji.
Korištenje različitih metoda kvantizacije
Pillow također nudi različite metode kvantizacije. Zadana metoda jeSlika.FASTOCTREE, ali možete koristiti druge metode kao što suSlika.MEDIANCUTiliSlika.MAXCOVERAGE.
Evo kako možete koristitiMEDIACUTmetoda:
# Smanjite broj boja koristeći MEDIANCUT metodu reduce_image = image.quantize(colors = 256, method = Image.MEDIANCUT) # Spremite smanjenu slikureduced_image.save('reduced_image_mediancut.jpg')
TheMEDIACUTMetoda pokušava rasporediti boje na način koji maksimizira razliku u boji između preostalih boja.
Usporedba različitih rezultata kvantizacije
Dobro je usporediti rezultate različitih metoda kvantizacije. To možete učiniti tako da spremite više verzija smanjene slike različitim metodama i pogledate ih jednu pokraj druge.
# Smanjite boje pomoću različitih metoda 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) # Spremite slike octree_image.save('octree_image.jpg') mediancut_image.save('mediancut_image.jpg') maxcoverage_image.save('maxcoverage_image.jpg')
Gledajući ove slike, možete odlučiti koja metoda najbolje odgovara vašim specifičnim potrebama.
Rad s Transparentnošću
Ako vaša slika ima prozirnost, morate biti malo oprezniji. Kada koristitekvantiziraj()metoda, možda neće ispravno rukovati prozirnošću. Jedan od načina rješavanja ovoga je pretvaranje slike u RGBA način prije kvantizacije.
# Pretvorite sliku u RGBA način rada rgba_image = image.convert('RGBA') # Smanjite broj bojareduced_rgba_image = rgba_image.quantize(colors = 256) # Spremite smanjenu slikureduced_rgba_image.save('reduced_rgba_image.png')
Imajte na umu da sliku spremamo kao PNG datoteku jer PNG podržava prozirnost.
Zaključak
Smanjenje broja boja na slici pomoću Pillowa prilično je jednostavno. Bez obzira jeste li programer koji želi optimizirati slike za web ili umjetnik koji radi na projektu s ograničenom paletom boja, Pillow će vas pokriti.
Ako ste zainteresirani za naše jastuke, imamo širok raspon opcija koje će zadovoljiti vaše potrebe. OdOrganski zdravstveni jastuk od heljdepremaHilton jastuk od mikrofibreiJastuk za spavanje od prirodnog lateksa, tu smo da vam pružimo najbolje iskustvo spavanja.
Ako ste zainteresirani za kupnju naših jastuka na veliko, slobodno se obratite za razgovor o nabavi. Uvijek nam je drago razgovarati o tome kako možemo zadovoljiti vaše potrebe.
Reference
- Jastuk službena dokumentacija
- Python službena dokumentacija
