Gabay sa Python Pillow: Batayan hanggang Pagproseso ng Imahe

目次

1. Panimula

Pangkalahatang-ideya ng Python at Pillow

Ang Python ay isang programming language na paborito ng maraming programmer at data scientist, at dahil sa simpleng syntax nito at iba’t ibang mga library, ito ay ginagamit sa maraming layunin. Sa loob nito, ang Pillow (dating kilala bilang PIL: Python Imaging Library), na nakatuon sa pagproseso ng imahe, ay malawakang ginagamit bilang pangunahing library para sa pagpros ng imahe sa Python. Sinusuportahan ng Pillow ang iba’t ibang format ng imahe tulad ng JPEG, PNG, at GIF, at nagbibigay-daan sa pag-resize, pag-trim, pag-filter, pagdaragdag ng teksto, at iba pang malawak na operasyon sa imahe. Ito ay ginagamit sa maraming aplikasyon at proyekto kapag kinakailangan ang pag-load, pag-save, at pag-edit ng mga imahe.

Layunin ng Artikulong Ito

Sa artikulong ito, tatalakayin nang lubusan ang mga pangunahing pagproseso ng imahe gamit ang Pillow library ng Python hanggang sa mga advanced na operasyon. Partik, ipapakita namin ang mga paraan ng pag-load at pag-save ng imahe, pag-resize at pag-ikot ng imahe, pag-filter, pati na rin ang pag-drawing ng teksto at pagsasama ng mga imahe, na sumasaklaw sa iba’t ibang pamamaraan ng pag-manipula ng imahe. Sa pamamagitan ng pagbabasa nito, magiging bihasa ka sa paggamit ng Pillow at makakakuha ng kaalaman at kasanayan na magagamit mo sa mga totoong proyekto.

2. Paraan ng Pag-install ng

2.1 Paraan ng pag-install ng Pillow sa kapaligiran ng Python

Upang magamit ang Pillow, kailangan munang i-install ang library sa kapaligiran ng Python. Napakadali ang paraan ng pag-install; kailangan mo lamang i-type ang sumusunod na command sa terminal (para sa Windows ay command prompt).
pip install Pillow
pip ay isang tool para pamahalaan ang mga Python package, at sa pamamagitan ng pagtakbo ng command na ito, awtomatikong mai-install ang Pillow library. Kapag matagumpay ang pag-install, maaari nang mag-manipula ng mga larawan.

2.2 Paraan ng Pag-verify ng Pag-andar

Kapag natapos na ang pag-install ng Pillow, magpatakbo ng simpleng code upang tiyakin na ito ay gumagana nang maayos. Isulat ang sumusunod na code sa isang Python script file at patakbuhin ito.
from PIL import Image

# Code para sa pag-verify ng Pillow
img = Image.new('RGB', (100, 100), color = 'red')
img.save('test_image.png')
Sa code na ito, gumagawa ng pulang imahe na 100×100 pixel at sine-save ito bilang “test_image.png”. Kung ang file ng imahe ay nalikha nang tama, makikita na matagumpay na na-install at gumagana ang Pillow.

2.3 Karaniwang mga problema sa pag-install at mga solusyon

Minsan may mga problema na lumilitaw habang ini-install ang Pillow. Narito ang mga karaniwang isyu at ang kanilang mga solusyon.
  1. Kung luma ang bersyon ng Python Pillow ay sumusuporta sa Python 3.x pataas. Kung gumagamit ka ng lumang bersyon ng Python, maaaring hindi matagumpay ang pag-install ng Pillow. Gamitin ang python --version upang tingnan ang bersyon, at i-update sa pinakabagong bersyon kung kinakailangan.
  2. Problema sa mga dependency package Minsan kulang ang mga kinakailangang dependency package kapag ini-install ang Pillow. Sa ganitong kaso, sundin ang error message para i-install ang mga kulang na package isa-isa, o magdagdag ng opsyon upang awtomatikong i-install ang mga dependency tulad ng nasa ibaba.
   pip install Pillow --upgrade
  1. Pag-set ng environment variables Lalo na sa Windows, kung hindi tama ang pag-andar ng Pillow, maaaring dahil hindi tama ang pag-set ng path ng Python o Pip sa environment variables. Suriin ito at tiyaking tama ang mga path na naka-set.

3. Pagbabasa at Pagpapakita ng Imahe

3.1 Paano Magbasa ng Imahe File gamit ang Python

Ang pagbabasa ng imahe ay isang pangunahing hakbang sa pagproseso ng imahe gamit ang Pillow library. Una, ipapakita namin kung paano magbasa ng tinukoy na file. Sa Pillow, maaaring gamitin ang Image.open() method upang buksan ang imahe. Narito ang pangunahing code para magbasa ng imahe.
from PIL import Image

# pagbasa ng file ng imahe
img = Image.open('sample.jpg')

# ipakita ang impormasyon ng imahe
print(img.format)  # format ng file (hal.: JPEG, PNG)
print(img.size)    # sukat (lapad, taas)
print(img.mode)    mode ng kulay (hal.: RGB, L)
Sa code na ito, ginagamit ang Image.open() upang buksan ang imahe file, at kinukuha ang impormasyon tulad ng format, sukat, at kulay mode ng imahe. Sa pamamagitan lamang ng pagtukoy ng path ng file, madaling mababasa ang imahe, kaya napaka-kapaki-pakinabang.

3.2 Pagpapakita ng Imahe

Pagkatapos basahin ang imahe, upang ipakita ito, gamitin ang show() method. Ang method na ito ay nagpapakita ng binasang imahe sa default viewer ng system. Tingnan natin kung paano ipakita ang imahe gamit ang sumusunod na code.
from PIL import Image

# pagbasa ng file ng imahe
img = Image.open('sample.jpg')

# ipakita ang imahe
img.show()
Sa code na ito, ang tinukoy na imahe file ay ipapakita sa default na image viewer. Sa ganitong paraan, maaaring suriin ang nilalaman habang nagpapatuloy sa susunod na proseso.

3.3 Pagkuha ng Detalyadong Impormasyon ng Imahe

Sa Pillow, maaaring kunin ang iba’t ibang impormasyon ng imahe. Halimbawa, maaaring tingnan ang lapad at taas ng imahe gamit ang attribute na size, at ang kulay mode gamit ang attribute na mode. Sa ganitong paraan, madaling makuha ang lapad, taas, at format ng file ng imahe.
from PIL import Image

# pagbasa ng file ng imahe
img = Image.open('sample.jpg')

# ipakita ang detalyadong impormasyon ng imahe
print(f'Sukat ng imahe: {img.size}')   # (lapad, taas)
print(f'Format ng file: {img.format}') # format ng imahe (JPEG, PNG, atbp)
print(f'Mode ng kulay: {img.mode}')       # mode ng kulay (RGB, L, atbp)</preSa ganitong paraan, makukuha ang pangunahing impormasyon ng binasang imahe at magagamit sa susunod na proseso. Halimbawa, kapag kinukuha ang lapad at taas ng imahe para mag-resize o mag-trim ayon sa sukat, napaka-kapaki-pakinabang nito.

3.4 Mga Format ng Imahe na Sinusuportahan ng Pillow

Sinusuportahan ng Pillow ang maraming format ng imahe tulad ng mga sumusunod. JPEG PNG GIF BMP TIFF Dahil dito, maaaring basahin at manipulahin ng Pillow halos lahat ng karaniwang format ng imahe. Halimbawa, kapag pinoproseso ang mga imahe na in-upload ng mga user sa isang web application, hindi na kailangang alalahanin ang format dahil sumusuporta ito sa maraming uri, kaya flexible ang paghawak.

4. Pangunahing Pagpoproseso ng Imahe

4.1 Pagbabago ng Laki ng Imahe

Isa sa mga pangunahing operasyon sa pagpoproseso ng imahe ay ang pagbabago ng laki ng imahe. Ang pagbabago ng laki ay ginagamit upang baguhin ang resolusyon ng imahe, at kapaki-pakinabang kapag inaangkop ito sa tamang sukat para sa mga website o aplikasyon. Sa Pillow, maaaring gamitin ang resize() method upang madaling baguhin ang sukat ng imahe. Narito ang isang halimbawa ng code para sa pagbabago ng laki ng imahe.
from PIL import Image

# Basahin ang imahe
img = Image.open('sample.jpg')

# I-resize ang imahe (lapad 400px, taas 300px)
resized_img = img.resize((400, 300))

# I-save ang resized na imahe
resized_img.save('resized_sample.jpg')
Sa code na ito, binabasa ang imahe at binabago ang sukat nito sa (400, 300). Pagkatapos baguhin ang laki, sine-save ito bilang file. Sa ganitong paraan, maaaring i-output ang imahe sa sukat na kailangan.

4.2 Pag-trim ng Imahe

Ang pag-trim ay operasyon para putulin ang bahagi ng imahe. Halimbawa, kapaki-pakinabang ito kapag nais kunin lamang ang tiyak na bahagi ng imahe para magamit. Sa Pillow, maaaring gamitin ang crop() method upang putulin ang tinukoy na saklaw ng imahe. Narito ang halimbawa ng code para sa pag-trim.
from PIL import Image

# Basahin ang imahe
img = Image.open('sample.jpg')

# I-trim ang imahe (mula sa coordinate na kaliwang-itaas 100,100 hanggang kanang-ibaba 300)
cropped_img = img.crop((100, 100, 300, 300))

# I-save ang na-trim na imahe
cropped_img.save('cropped_sample.jpg')
Sa code na ito, ginagamit ang crop() method upang tukuyin ang tiyak na saklaw ng imahe, at sinasave lamang ang bahaging iyon.

4.3 Pag-ikot ng Imahe

Ang pag-ikot ng imahe ay madaling gawin sa pamamagitan lamang ng pagtukoy ng anggulo ng pag-ikot. Sa paggamit ng rotate() method ng Pillow, maaaring iikot ang imahe ayon sa tinukoy na anggulo. Kung ang imahe ay naputol pagkatapos iikot, maaaring gamitin ang opsyon na expand=True upang palawakin ang canvas at maipakita ang buong imahe. Narito ang halimbawa ng code para iikot ang imahe ng 45 degrees.
from PIL import Image

# Basahin ang imahe
img = Image.open('sample.jpg')

# I-rotate ang imahe ng 45 degrees (palawakin ang canvas para hindi maputol)
rotated_img = img.rotate(45, expand=True)

# I-save ang na-rotate na imahe
rotated_img.save('rotated_sample.jpg')
Sa code na ito, iniikot ang imahe ng 45 degrees, at dahil sa pagtukoy ng expand=True, ang buong imahe ay nasasave pagkatapos iikot.

4.4 Pag-flip ng Imahe

Madali ring i-flip ang imahe nang pahalang o patayo gamit ang Pillow. Halimbawa, ang horizontal flip (pahalang) at vertical flip (patayo) ay maaaring gawin gamit ang transpose() method. Narito ang halimbawa ng code para i-flip ang imahe nang pahalang.
from PIL import Image

# Basahin ang imahe
img = Image.open('sample.jpg')

# I-flip ang imahe pahalang
flipped_img = img.transpose(Image.FLIP_LEFT_RIGHT)

# I-save ang na-flip na imahe
flipped_img.save('flipped_sample.jpg')
Sa code na ito, ang tinukoy na imahe ay na-flip nang pahalang at nasave.

4.5 Iba pang Pangunahing Pagproseso na Sinusuportahan ng Pillow

Sa Pillow, sinusuportahan hindi lamang ang pagbabago ng laki, pag-trim, pag-ikot, at pag-flip, kundi pati na rin ang iba’t ibang pagproseso ng imahe. Halimbawa, madaling ayusin ang liwanag at contrast ng imahe, pati na ang pag-convert ng color space. Sa ganitong paraan, maaaring i-automate sa programa ang mas kumplikadong pag-edit ng imahe.

5. Pag-convert at Pag-save ng Format ng Imahe

5.1 Pag-convert ng Format ng Imahe

Sa paggamit ng Pillow, madaling ma-convert ang format ng imahe. Halimbawa, maaaring i-convert ang isang JPEG na imahe sa PNG format. Ang pag-convert ng format ay ginagawa lamang sa pamamagitan ng pag-load ng file ng imahe at pagtukoy ng bagong format gamit ang save() method. Narito ang isang halimbawa ng pag-convert ng JPEG na imahe sa PNG format.
from PIL import Image

# Basahin ang JPEG na imahe
img = Image.open('sample.jpg')

# I-save sa format na PNG
img.save('converted_image.png', 'PNG')
Sa code na ito, naglo-load ng JPEG na imahe na tinatawag na sample.jpg at sine-save ito bilang PNG file na converted_image.png. Sa ganitong paraan, napakadali ang pag-convert sa pagitan ng iba’t ibang format ng imahe.

5.2 Mga Paraan ng Pag-save ng Imahe

Pagkatapos iproseso ang imahe gamit ang Pillow, maraming mga opsyon ang available kapag ise-save ito. Halimbawa, kapag nagse-save sa JPEG format, maaaring i-customize ang kalidad ng imahe, optimization, at mga setting tulad ng progressive JPEG. Narito ang isang halimbawa kung paano tukuyin ang mga opsyon para sa kalidad at optimization kapag nagse-save ng JPEG na imahe.
from PIL import Image

# Basahin ang imahe
img = Image.open('sample.jpg')

# I-save sa JPEG format (kalidad 95, may optimization)
img.save('optimized_image.jpg', 'JPEG', quality=95, optimize=True)
Sa code na ito, tinutukoy ang kalidad ng imahe gamit ang quality=95 at ini-optimize ang imahe gamit ang optimize=True bago i-save. Ang halaga ng kalidad ay maaaring itakda mula 0 hanggang 100; mas mataas na numero ay mas mataas na kalidad ngunit mas malaki rin ang laki ng file. Bukod dito, kapag tinukoy ang optimize=True, ini-optimize ng Pillow ang file upang maging kasing-liit hangga’t maaari.

5.3 Pag-save ng Progressive JPEG

Ang progressive JPEG ay isang format kung saan unti-unting ipinapakita ang imahe sa internet. Bago pa man ganap na ma-load ang pahina, ipinapakita muna ang mababang resolusyon at unti-unting lumalabas ang mas mataas na resolusyon, na nagpapabuti sa karanasan ng gumagamit. Upang mag-save ng progressive JPEG gamit ang Pillow, tukuyin ang opsyon na progressive=True.
from PIL import Image

# Basahin ang imahe
img = Image.open('sample.jpg')

# I-save bilang progressive JPEG
img.save('progressive_image.jpg', 'JPEG', quality=85, progressive=True)
Sa code na ito, tinutukoy ang progressive=True kapag nagse-save ng JPEG na imahe, kaya ito ay inilalabas bilang progressive JPEG. Dahil dito, unti-unting ipinapakita ang imahe habang naglo-load ang web page.

5.4 Pagpapanatili ng EXIF Information

Ang EXIF (Exchangeable Image File Format) ay metadata na nakapaloob sa mga larawang kinunan ng digital camera at iba pa. Halimbawa, kasama rito ang petsa at oras ng pagkuha, mga setting ng kamera, at GPS information. Sa Pillow, maaaring i-save ang imahe nang pinapanatili ang EXIF information. Narito ang isang halimbawa ng pag-save ng imahe habang pinapanatili ang EXIF information.
from PIL import Image

# Basahin ang imahe
img = Image.open('sample.jpg')

# Kunin ang EXIF na impormasyon
exif_data = img.info.get('exif')

# I-save sa JPEG format habang pinapanatili ang EXIF na impormasyon
img.save('exif_image.jpg', 'JPEG', exxif=exif_data)
Sa code ito, kinukuha ang EXIF information mula sa orihinal na imahe at sine-save ito nang hindi binabago. Sa ganitong paraan, ang impormasyon tungkol sa kamera at mga kondisyon ng pagkuha ay hindi mawawala kapag sine-save ang imahe.

6. Paglalapat ng mga filter at epekto sa larawan

6.1 Pag-aayos ng liwanag at contrast ng larawan

Sa paggamit ng Pillow, madaling maayos ang liwanag at contrast ng larawan. Para dito, kapaki-pakinabang ang ImageEnhance module. Sa pamamagitan ng paggamit ng ImageEnhance.Brightness() at ImageEnhance.Contrast(), maaaring iayos ang visual effect ng larawan. Narito ang halimbawa ng code para ayusin ang li.
from PIL import Image, ImageEnhance

# Basahin ang larawan
img = Image.open('sample.jpg')

# Ayusin ang liwanag (1.5 beses na mas maliwanag)
enhancer = ImageEnhance.Brightness(img)
bright_img = enhancer.enhance(1.5)

# I-save ang naayos na larawan
bright_img.save('bright_sample.jpg')
Sa code na ito, ginagamit ang enhance(1.5) upang gawing 1.5 beses na mas maliwanag ang larawan. Maaaring tukuyin ang multiplier ng liwanag sa argumento ng enhance(); ang 1.0 ay orihinal na liwanag, mas mababa sa 1.0 ay magiging madilim, at mas mataas sa 1.0 ay magiging mas maliwanag. Gayundin, maaaring ayusin ang contrast tulad ng nasa ibaba.
from PIL import Image, ImageEnhance

# Basahin ang larawan
img = Image.open('sample.jpg')

# Ayusin ang contrast (2.0 beses na pinatindi)
enhancer = ImageEnhance.Contrast(img)
contrast_img = enhancer.enhance(2.0)

# I-save ang naayos na larawan
contrast_img.save('contrast_sample.jpg')
Sa code na ito, pinalalakas ang contrast ng dalawang beses. Sa pamamagitan ng pagpapalakas ng contrast, mas lalong tumatangi ang liwanag at dilim ng larawan, na nagbibigay ng malinaw na impresyon.

6.2 Mga filter tulad ng pag-blur at pag-sharpen

Sa Pillow, maaari ring mag-apply ng filter sa larawan. Halimbawa, madaling magdagdag ng mga epekto tulad ng pag-blur o pag-sharpen ng larawan. Ginagamit para dito ang ImageFilter module. Narito ang halimbawa ng code para mag-apply ng blur filter.
from PIL import Image, ImageFilter

# Basahin ang larawan
img = Image.open('sample.jpg')

# Ilapat ang blur filter
blurred_img = img.filter(ImageFilter.BLUR)

# I-save ang larawan pagkatapos ilapat ang filter
blurred_img.save('blurred_sample.jpg')
Sa code na ito, ginagamit ang ImageFilter.BLUR upang i-blur ang larawan. Katulad nito, kung mag-aapply ng sharp filter, ginagamit ang ImageFilter.SHARPEN. # Ilapat ang sharp filter sharpened_img = img.filter(ImageFilter.SHARPEN) # I-save ang larawan pagkatapos ilapat ang filter sharpened_img.save(‘sharpened_sample.jpg’) Sa ganitong paraan, maaaring i-emphasize ang mga edge ng larawan at i-sharpen ito, o gumamit ng blur filter para magbigay ng malambot na impresyon.

6.3 Paggamit ng mga espesyal na filter

Bukod pa rito, may ilang espesyal na filter din ang Pillow. Halimbawa, may mga filter na kapaki-pakinabang sa pag-analyze ng larawan tulad ng edge detection at contour extraction. Narito ang halimbawa ng code para mag-apply ng edge detection filter.
from PIL import Image, ImageFilter

# Basahin ang larawan
img = Image.open('sample.jpg')

# Ilapat ang edge detection filter
edge_img = img.filter(ImageFilter.FIND_EDGES)

# I-save ang larawan pagkatapos ilapat ang filter
edge_img.save('edge_sample.jpg')
Sa code na ito, ginagamit ang ImageFilter.FIND_EDGES upang lumikha ng larawan na binibigyang-diin lamang ang mga edge. Ang ganitong mga filter ay kapaki-pakinabang sa image analysis at disenyo.

7. Paglalarawan ng Teksto at Hugis

7.1 Paano mag-drawing ng teksto gamit ang Pillow

Ang pagdaragdag ng teksto sa larawan ay isa sa mga mahalagang tampok ng pagproseso ng imahe gamit ang Pillow. Maaari mong ilagay ang teksto sa iba’t ibang elemento ngyo tulad ng mga ad banner, thumbnail, at logo. Sa pamamagitan ng ImageDraw module ng Pillow, maaari kang mag-drawing ng teksto nang malaya sa ibabaw ng larawan. Una, tingnan natin ang pangunahing paraan ng pag-drawing ng teksto.
from PIL import Image, ImageDraw, ImageFont

# I-load ang larawan
img = Image.open('sample.jpg')

# Lumikha ng ImageDraw object
draw = ImageDraw.Draw(img)

 I-drawing ang teksto
draw.text((10, 10), 'Hello, Pillow!', fill=(255, 255, 255))

# I-save ang larawan
img.save('text_sample.jpg')
Sa code na ito, gumagawa ng object para sa pag-drawing gamit ang ImageDraw.Draw(), at ginagamit ang draw.text() method para i-drawing ang teksto naHello, Pillow!” sa tinukoy na posisyon. Gamit ang fill option, itinatakda ang kulay ng teksto sa puti (RGB: (255, 255, 255)).

7.2 Pagpili ng Font

Sa default, gumagamit ang Pillow ng standard na font ng system, ngunit sa pamamagitan ng ImageFont module, maaari kang magtakda ng custom na font at sukat. Ang sumusunod na code ay nagpapakita kung paano mag-drawing ng teksto gamit ang tinukoy na font at laki ng font.
from PIL import Image, ImageDraw, ImageFont

# I-load ang larawan
img = Image.open('sample.jpg')

# Lumikha ng ImageDraw object
draw = ImageDraw.Draw(img)

# Itakda ang font (TrueType font)
font = ImageFont.truetype('arial.ttf', 40)

# I-drawing ang teksto
draw.text((10, 10), 'Custom Font!', font=font, fill=(255, 255, 255))

# I-save ang larawan
img.save('font_sample.jpg')
Sa code na ito, ginagamit ang ImageFont.truetype() kasama ang tinukoy na font file (arial.ttf) at laki ng font (40) para i-drawing ang teksto. Ang font file ay maaaring naka-install na sa system o kaya’y manu-manong idinagdag.

7.3 Pag-drawing ng Hugis

Sa Pillow, hindi lamang teksto kundi pati mga linya, parihaba, bilog at iba pang hugis ay madaling i-drawing. Ginagamit dito ang mga method na line(), rectangle(), at ellipse() ng ImageDraw module. Narito ang halimbawa ng code para mag-drawing ng mga hugis sa larawan.
from PIL import Image, ImageDraw

# I-load ang larawan
img = Image.open('sample.jpg')

# Lumikha ng ImageDraw object
draw = ImageDraw.Draw(img)

# I-drawing ang linya
draw.line((0, 0, 100, 100), fill=(255, 0, 0), width=5)

# I-drawing ang parihaba
draw.rectangle((50, 50, 150, 150), outline=(0, 255, 0), width=3)

# I-drawing ang bilog (ellipses)
draw.ellipse((200, 200, 300, 300), outline=(0, 0, 255), width=3)

# I-save ang larawan
img.save('shape_sample.jpg')
Sa code na ito, nag-drawing ng pulang linya, berdeng parihaba, at asul na bilog sa larawan. Ang line() method ay gumuguhit ng linya batay sa tinukoy na koordinado, ang rectangle() method ay nag-drawing ng parihaba, at ang ellipse() method ay nag-drawing ng bilog o ellipses. Gamit ang outline option tinatakda ang kulay ng border ng hugis, at ang width option ay nagtatakda ng kapal ng linya.

7.4 Mga Advanced na Pag-drawing

Sa Pillow, maaari mong pagsamahin ang maraming hugis at teksto upang lumikha ng masalimuot na disenyo. Halimbawa, maaari kang magdagdag ng pamagat o paglalarawan sa thumbnail na larawan, o maglagay ng maraming teksto at hugis sa banner na ad. Sa ganitong paraan, napapadali ang pag-customize ng visual content sa mga website at aplikasyon.

8. Aplikasyon: Pagsasama ng mga larawan at pagproseso ng maskara

8.1 Pagsasama ng mga larawan

Ang pagsasama ng mga larawan ay proseso ng pagsasama ng maraming larawan upang lumikha ng isang larawan. Halimbawa, sa pamamagitan ng paglagay ng ibang larawan sa ibabaw ng background na larawan, maaaring gumawa ng banner o collage. Sa Pillow, maaaring gamitin ang paste() method upang madaling pagsamahin ang mga larawan. Narito ang isang pangunahing halimbawa ng code para pagsamahin ang mga larawan.
from PIL import Image

# Basahin ang background na larawan at ang larawan na pagsasamahin
background = Image.open('background.jpg')
overlay = Image.open('overlay.png')

# Pagsamahin ang mga larawan (posisyon x=100, y=100)
background.paste(overlay, (100, 100), overlay)

# I-save ang pinagsamang larawan
background.save('combined_image.jpg')
Sa code na ito, inilalagay ang overlay.png sa ibabaw ng background.jpg sa koordinatong (100, 100). Sa pamamagitan ng pagpasa ng larawan na overlay bilang ikatlong argumento ng paste() method, posible ang pagsasama na isinasaalang-alang ang alpha channel (transparency). Dahil dito, kahit na maglagay ng transparent na PNG, makakamit ang natural na pagsasama sa background.

8.2 Pagputol gamit ang maskara na larawan

Sa paggamit ng maskara na larawan, maaaring putulin ang larawan sa isang tiyak na hugis. Halimbawa, maaaring ipakita ang larawan na naputol sa hugis ng bilog o bituin. Ginagamit ito sa

9. Buod

Sa artikulong ito, detalyado naming ipinaliwanag ang iba’t ibang teknik sa pagproseso ng larawan gamit ang Python image processing library na “Pillow”. Sa paggamit ng Pillow, napakadali na gawin ang malawak na hanay ng mga operasyon sa larawan, mula sa mga pangunahing gawain tulad ng pag-load, pag-save, pag-resize at pag-trim, hanggang sa pagsasama, pag-aaplay ng mga filter, at pagguhit ng teksto o hugis.

9.1 Pagsusuri sa mga Pangunahing Operasyon ng Pillow

Una, nagsimula kami sa pag-install ng Pillow at natutunan kung paano magbukas at magpakita ng larawan, pati na rin kung paano kunin ang mga pangunahing impormasyon ng larawan. Sa ganitong paraan, naunawaan mo ang mga batayan ng pagproseso ng larawan at nagkaroon ka ng kakayahang mag-manipula ng anumang larawan nang may flexibility.

9.2 Pangunahing Pag-edit ng Larawan tulad ng Pag-resize, Pag-trim, at Pag-ikot

Ang pag-resize, pag-trim, at pag-ikot ay mga pangunahing kasanayan sa pag-edit ng larawan. Sa pamamagitan ng mga operasyong ito, maaari mong baguhin nang malaya ang sukat at hugis ng larawan, putulin lamang ang kinakailangang bahagi, o ayusin ang direksyon nito. Ang mga ito ay lubos na kapaki-pakinabang din sa web design at pag-develop ng mga aplikasyon.

9.3 Pag-aaplay ng mga Filter at Epekto

Sa paggamit ng Pillow, madali mong maayos ang liwanag at contrast ng larawan, at mag-apply ng mga filter tulad ng blur, sharpening, o edge detection. Sa ganitong paraan, maaaring baguhin nang malaki ang texture at impresyon ng larawan, na nagbibigay-daan sa propesyonal na pag-edit.

9.4 Pagguhit ng Teksto at Hugis, at Pagsasama ng mga Larawan

Bukod pa rito, sa pamamagitan ng pagguhit ng teksto at hugis, at pagsasama ng maraming larawan, maaari kang lumikha ng mas advanced na disenyo. Halimbawa, paggawa ng mga banner o logo, o paglikha ng transparent na PNG images, na nagpapalawak ng mga posibilidad. Lalo na ang paggamit ng mask processing at alpha channel para sa transparent na mga larawan ay napaka-kapaki-pakinabang sa disenyo para sa web at mga aplikasyon.

9.5 Patungo sa Hinaharap na Paggamit

Ang mga kakayahan ng Pillow ay malalim pa, at sa pamamagitan ng paggamit ng opisyal na dokumentasyon at iba pang mga mapagkukunan, maaari pang mapalawak ang mga aplikasyon nito. Mula sa awtomatikong pagproseso ng larawan sa mga web application, pagsusuri ng larawan sa mga data science project, hanggang sa pre-processing ng imahe para sa machine learning, ang Pillow ay magiging mahalagang kasangkapan sa iba’t ibang larangan. Gamitin mo ang kaalamang ito upang sa hinaharap ay malayang mag-manipula ng Pillow sa iyong mga proyekto at maisagawa ang pagproseso ng larawan nang mas epektibo.