Stvaranje slikovne piramide korisna je tehnika u obradi slike koja vam omogućuje predstavljanje slike u više razmjera. U ovom postu na blogu vodit ću vas kroz proces stvaranja slikovne piramide pomoću biblioteke Pillow, a također ću istaknuti našu ponudu kao dobavljača Pillowa.
Što je slikovna piramida?
Piramida slika skup je slika - sve izvedene iz jedne izvorne slike - koje se sukcesivno smanjuju dok se ne postigne neka željena točka zaustavljanja. Postoje dvije uobičajene vrste slikovnih piramida: Gaussova i Laplaciana. Gaussove piramide koriste se za smanjivanje uzorkovanja slika, dok se Laplacijeve piramide koriste za rekonstrukciju povećano uzorkovane slike iz slike niže u piramidi.
Preduvjeti
Prije nego što počnemo, provjerite imate li instaliranu knjižnicu Pillow. Ako nije, možete ga instalirati koristeći pip:
pip instalirati jastuk
Stvaranje Gaussove slikovne piramide
Počnimo sa stvaranjem Gaussove slikovne piramide. Sljedeći Python kod pokazuje kako se to radi:
iz PIL uvoza Image def gaussian_pyramid(image, levels): pyramid = [image] for i in range(levels - 1): image = image.resize((image.width // 2, image.height // 2), Image.BICUBIC) pyramid.append(image) return pyramid # Otvori sliku original_image = Image.open('your_image.jpg') # Generiraj Gaussova piramida s 4 razine pyramid = gaussian_pyramid(original_image, 4) # Spremite svaku razinu piramide za i, razinu u enumerate(pyramid): level.save(f'gaussian_level_{i}.jpg')
U ovom kodu definiramo funkcijugaussova_piramidakoji kao ulaz uzima sliku i broj razina. Zatim sukcesivno smanjuje uzorkovanje slike za faktor 2 pomoćupromijeniti veličinumetoda sSlika.BICUBICfilter za ponovno uzorkovanje. Rezultirajuće slike pohranjuju se u popis koji predstavlja Gaussovu piramidu.
Stvaranje Laplasove slikovne piramide
Da bismo stvorili Laplasovu slikovnu piramidu, prvo moramo stvoriti Gaussovu piramidu. Zatim možemo izračunati Laplaciane slike oduzimanjem povećane uzorkovanja svake razine u Gaussovoj piramidi od sljedeće razine. Evo koda:
iz PIL uvoza Image def gaussian_pyramid(image, levels): pyramid = [image] for i in range(levels - 1): image = image.resize((image.width // 2, image.height // 2), Image.BICUBIC) pyramid.append(image) return pyramid def laplacian_pyramid(gaussian_pyramid): levels = len(gaussian_pyramid) laplacian = [] for i in range(levels - 1): upsampled = gaussian_pyramid[i + 1].resize((gaussian_pyramid[i].width, gaussian_pyramid[i].height), Image.BICUBIC) diff = ImageChops.difference(gaussian_pyramid[i], upsampled) laplacian.append(diff) laplacian.append(gaussian_pyramid[-1]) return laplacian # Otvori sliku original_image = Image.open('your_image.jpg') # Generiraj Gaussovu piramidu s 4 razine gaussian = gaussian_pyramid(original_image, 4) # Generiraj Laplacian piramida laplacian = laplacian_pyramid(gaussian) # Spremi svaku razinu Laplacian piramide za i, razinu u enumerate(laplacian): level.save(f'laplacian_level_{i}.jpg')
U ovom kodu prvo definiramogaussova_piramidafunkcionirati kao prije. Zatim definiramo novu funkcijulaplasova_piramidakoji kao ulaz uzima Gaussovu piramidu. Izračunava Laplaciane slike oduzimanjem povećane uzorkovanja svake razine u Gaussovoj piramidi od sljedeće razine pomoćuImageChops.razlikametoda.
Naši proizvodi za jastuke
Kao dobavljač jastuka, nudimo širok izbor visokokvalitetnih jastuka koji će zadovoljiti vaše potrebe. Bilo da tražite jastuke zaHotelski jastuci s visokim zvjezdicama, iliOrganski zdravstveni jastuk od heljde, iliJastuci od guščjeg paperja, pokrivamo vas.
Naši jastuci izrađeni su od najfinijih materijala i dizajnirani su za maksimalnu udobnost i potporu. Shvaćamo važnost dobrog noćnog sna, a naši su jastuci osmišljeni kako bi vam pomogli postići upravo to.
Zaključak
Stvaranje slikovne piramide pomoću biblioteke Pillow jednostavan je postupak koji može biti koristan u raznim aplikacijama za obradu slika. Bilo da radite na računalnom vidu, kompresiji slike ili jednostavno želite istražiti različite načine predstavljanja slike, slikovne piramide moćan su alat.
Ako ste zainteresirani za naše proizvode jastuka, pozivamo vas da nas kontaktirate radi rasprave o nabavi. Posvećeni smo pružanju najboljih proizvoda i usluga našim klijentima i veselimo se suradnji s vama.


Reference
- Dokumentacija o jastuku: https://pillow.readthedocs.io/en/stable/
- Koncepti obrade slike: Digitalna obrada slike Rafaela C. Gonzaleza i Richarda E. Woodsa
