สอนใช้งาน Python Pillow ครบจบในบทเดียว: คู่มือประมวลผลภาพสำหรับมือใหม่และสายโปรแกรมเมอร์

目次

1. บทนำ

ภาพรวมของ Python และ Pillow

Python เป็นภาษาการเขียนโปรแกรมที่ได้รับความนิยมอย่างมากในหมู่นักพัฒนาและนักวิทยาศาสตร์ข้อมูล เนื่องจากมีไวยากรณ์ที่เข้าใจง่ายและไลบรารีหลากหลาย สามารถนำไปใช้ได้ในหลายกรณี โดยเฉพาะ Pillow (เดิมชื่อ PIL: Python Imaging Library) เป็นไลบรารีสำหรับประมวลผลภาพที่มีชื่อเสียงในภาษา Python และถูกใช้อย่างแพร่หลาย

Pillow รองรับรูปแบบไฟล์ภาพหลากหลาย เช่น JPEG, PNG, GIF และอื่น ๆ อีกมากมาย สามารถปรับขนาด (resize), ตัดภาพ (crop), ใส่ฟิลเตอร์, เพิ่มข้อความ และทำงานกับภาพได้หลายรูปแบบ เหมาะกับการใช้งานทั้งในแอปพลิเคชันและโปรเจกต์ต่าง ๆ ที่ต้องจัดการกับภาพ เช่น การอ่านและบันทึกภาพ หรือแก้ไขภาพ

วัตถุประสงค์ของบทความนี้

บทความนี้จะอธิบายวิธีใช้งานไลบรารี Pillow ใน Python ตั้งแต่การประมวลผลภาพพื้นฐานไปจนถึงการใช้งานเชิงลึก เช่น การอ่านและบันทึกภาพ, การปรับขนาด, หมุนภาพ, การใส่ฟิลเตอร์, การเพิ่มข้อความ และการรวมภาพ

เมื่ออ่านจบ คุณจะเข้าใจวิธีใช้ Pillow ได้อย่างครบถ้วน สามารถนำไปประยุกต์ใช้ในโปรเจกต์จริงได้อย่างมั่นใจ

2. วิธีติดตั้ง Pillow

2.1 วิธีติดตั้ง Pillow ในสภาพแวดล้อม Python

ก่อนใช้งาน Pillow จำเป็นต้องติดตั้งไลบรารีลงในสภาพแวดล้อม Python ของคุณ วิธีติดตั้งนั้นง่ายมาก เพียงรันคำสั่งนี้ในเทอร์มินัล (หรือ Command Prompt บน Windows)

pip install Pillow

pip คือเครื่องมือสำหรับจัดการแพ็กเกจ Python เมื่อรันคำสั่งนี้ Pillow จะถูกติดตั้งอัตโนมัติ หากติดตั้งสำเร็จ ก็พร้อมใช้งานสำหรับจัดการไฟล์ภาพแล้ว

2.2 วิธีตรวจสอบการทำงาน

หลังติดตั้ง Pillow เรียบร้อยแล้ว ลองรันโค้ดตัวอย่างนี้เพื่อเช็คว่าทำงานถูกต้องหรือไม่ เขียนโค้ดนี้ในไฟล์ Python แล้วรันได้เลย

from PIL import Image

# โค้ดตรวจสอบการทำงานของ Pillow
img = Image.new('RGB', (100, 100), color = 'red')
img.save('test_image.png')

โค้ดนี้จะสร้างภาพสีแดงขนาด 100×100 พิกเซล แล้วบันทึกเป็นไฟล์ชื่อ “test_image.png” หากไฟล์นี้ถูกสร้างขึ้น แสดงว่า Pillow ติดตั้งและพร้อมใช้งาน

2.3 ปัญหาการติดตั้งที่พบบ่อยและวิธีแก้ไข

บางครั้งอาจพบปัญหาระหว่างติดตั้ง Pillow ตัวอย่างปัญหาและวิธีแก้ไขมีดังนี้

  1. Python เวอร์ชันเก่า
    Pillow รองรับ Python 3.x ขึ้นไป หากใช้เวอร์ชันเก่าอาจติดตั้งไม่ได้ ตรวจสอบเวอร์ชันโดยใช้ python --version และอัปเดต Python หากจำเป็น
  2. ปัญหาแพ็กเกจที่ต้องใช้ร่วมกัน
    บางครั้งการติดตั้ง Pillow อาจล้มเหลวเพราะขาดแพ็กเกจที่ต้องใช้ร่วมกัน ให้ติดตั้งตามข้อความแนะนำ หรือใช้คำสั่งนี้เพื่อติดตั้งแพ็กเกจล่าสุดทั้งหมด
   pip install Pillow --upgrade
  1. การตั้งค่าตัวแปรสภาพแวดล้อม
    โดยเฉพาะใน Windows อาจต้องตรวจสอบว่าตำแหน่ง Python และ Pip ถูกตั้งค่าไว้ใน PATH ของระบบหรือไม่ ให้เช็คและตั้งค่าให้ถูกต้อง
侍エンジニア塾

3. การอ่านและแสดงภาพ

3.1 วิธีอ่านไฟล์ภาพด้วย Python

การอ่านภาพเป็นพื้นฐานของการประมวลผลภาพด้วย Pillow ใช้วิธีนี้เพื่อเปิดไฟล์ภาพโดยใช้เมธอด Image.open()

โค้ดตัวอย่าง:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# แสดงข้อมูลภาพ
print(img.format)  # รูปแบบไฟล์ (เช่น JPEG, PNG)
print(img.size)    # ขนาด (กว้าง, สูง)
print(img.mode)    # โหมดสี (เช่น RGB, L)

โค้ดนี้จะเปิดไฟล์ภาพและแสดงข้อมูลเกี่ยวกับรูปแบบ ขนาด และโหมดสีของภาพ ใช้งานง่าย เพียงระบุเส้นทางไฟล์

3.2 การแสดงผลภาพ

หลังจากเปิดภาพแล้ว สามารถแสดงภาพด้วยเมธอด show() ซึ่งจะเปิดโปรแกรมดูภาพเริ่มต้นของระบบโดยอัตโนมัติ

โค้ดตัวอย่าง:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# แสดงภาพ
img.show()

ไฟล์ภาพจะถูกเปิดแสดงในโปรแกรมดูภาพ สามารถใช้ตรวจสอบภาพก่อนประมวลผลต่อ

3.3 การดึงข้อมูลรายละเอียดของภาพ

Pillow สามารถดึงข้อมูลต่าง ๆ ของภาพได้ เช่น ขนาดภาพและโหมดสี

โค้ดตัวอย่าง:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# แสดงข้อมูลภาพ
print(f'ขนาดภาพ: {img.size}')   # (กว้าง, สูง)
print(f'รูปแบบไฟล์: {img.format}') # รูปแบบไฟล์ (JPEG, PNG ฯลฯ)
print(f'โหมดสี: {img.mode}')       # โหมดสี (RGB, L ฯลฯ)

การตรวจสอบขนาดและคุณสมบัติของภาพช่วยในการเตรียมการรีไซส์หรือครอปต่อไป

3.4 รูปแบบไฟล์ที่ Pillow รองรับ

Pillow รองรับไฟล์ภาพหลากหลายรูปแบบ ได้แก่

  • JPEG
  • PNG
  • GIF
  • BMP
  • TIFF

จึงสามารถจัดการไฟล์ภาพแทบทุกชนิด ทั้งการอ่านและเขียนไฟล์ เหมาะกับการรับภาพจากผู้ใช้บนเว็บหรือแอปต่าง ๆ

4. การประมวลผลภาพพื้นฐาน

4.1 การปรับขนาดภาพ (Resize)

หนึ่งในขั้นตอนพื้นฐานของการประมวลผลภาพคือการปรับขนาด (resize) ซึ่งช่วยให้ปรับความละเอียดของภาพให้เหมาะสมกับเว็บไซต์หรือแอปพลิเคชันต่าง ๆ ใน Pillow สามารถใช้เมธอด resize() เพื่อปรับขนาดภาพได้อย่างง่ายดาย

ตัวอย่างโค้ดสำหรับปรับขนาดภาพ:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# ปรับขนาดภาพ (กว้าง 400px, สูง 300px)
resized_img = img.resize((400, 300))

# บันทึกภาพที่ปรับขนาดแล้ว
resized_img.save('resized_sample.jpg')

โค้ดนี้จะเปลี่ยนขนาดภาพเป็น (400, 300) พิกเซล แล้วบันทึกไฟล์ใหม่ เหมาะสำหรับปรับภาพให้ตรงกับความต้องการ

4.2 การครอปภาพ (Crop)

การครอปคือการตัดเอาบางส่วนของภาพออกมาใช้ เช่น ต้องการแสดงเฉพาะบริเวณใดบริเวณหนึ่งของภาพ ใน Pillow ใช้เมธอด crop() เพื่อเลือกพื้นที่ของภาพที่ต้องการ

ตัวอย่างโค้ดการครอปภาพ:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# ครอปภาพ (เริ่มจาก x=100, y=100 ถึง x=300, y=300)
cropped_img = img.crop((100, 100, 300, 300))

# บันทึกภาพที่ครอปแล้ว
cropped_img.save('cropped_sample.jpg')

โค้ดนี้จะเลือกเฉพาะบริเวณที่ต้องการและบันทึกเป็นไฟล์ใหม่

4.3 การหมุนภาพ (Rotate)

การหมุนภาพสามารถทำได้ง่าย ๆ ด้วยเมธอด rotate() สามารถกำหนดมุมหมุนได้ และหากไม่ต้องการให้ภาพโดนตัดขอบหลังหมุน ให้ใส่ expand=True

ตัวอย่างโค้ดหมุนภาพ:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# หมุนภาพ 45 องศา (ขยายขนาดเพื่อไม่ให้ภาพขาด)
rotated_img = img.rotate(45, expand=True)

# บันทึกภาพที่หมุนแล้ว
rotated_img.save('rotated_sample.jpg')

ภาพจะถูกหมุนและบันทึกใหม่โดยไม่ถูกตัดขอบ

4.4 การกลับด้านภาพ (Flip)

สามารถกลับภาพซ้าย-ขวา หรือบน-ล่างได้ด้วยเมธอด transpose() เช่น การกลับซ้ายขวา (horizontal flip) หรือบนล่าง (vertical flip)

ตัวอย่างโค้ดกลับภาพซ้ายขวา:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# กลับซ้ายขวา
flipped_img = img.transpose(Image.FLIP_LEFT_RIGHT)

# บันทึกภาพที่กลับแล้ว
flipped_img.save('flipped_sample.jpg')

เหมาะสำหรับสร้างเอฟเฟกต์กระจกหรือมุมมองกลับด้าน

4.5 การประมวลผลอื่น ๆ ที่ Pillow รองรับ

Pillow รองรับการประมวลผลขั้นพื้นฐานอื่น ๆ อีก เช่น การปรับความสว่าง (brightness), ความคมชัด (contrast), การแปลงโหมดสี (color mode conversion) เป็นต้น จึงสามารถใช้ทำงานแก้ไขภาพได้อย่างหลากหลายและอัตโนมัติ

年収訴求

5. การแปลงและบันทึกไฟล์ภาพ

5.1 การแปลงรูปแบบไฟล์ภาพ

Pillow สามารถแปลงรูปแบบไฟล์ภาพได้อย่างง่าย เช่น จาก JPEG เป็น PNG แค่ระบุรูปแบบใหม่ตอนใช้ save()

ตัวอย่างโค้ดแปลง JPEG เป็น PNG:

from PIL import Image

# อ่านไฟล์ JPEG
img = Image.open('sample.jpg')

# บันทึกเป็น PNG
img.save('converted_image.png', 'PNG')

จึงสามารถเปลี่ยนระหว่างไฟล์รูปแบบต่าง ๆ ได้ง่าย

5.2 วิธีบันทึกภาพ

เมื่อต้องการบันทึกไฟล์ภาพ สามารถกำหนดคุณภาพ (quality), การ optimize, หรือ progressive JPEG ได้

ตัวอย่างบันทึกภาพแบบปรับคุณภาพและ optimize:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# บันทึกเป็น JPEG คุณภาพ 95 และ optimize
img.save('optimized_image.jpg', 'JPEG', quality=95, optimize=True)

ตั้งค่า quality ได้ตั้งแต่ 0–100 และ optimize เพื่อลดขนาดไฟล์

5.3 การบันทึกเป็น Progressive JPEG

Progressive JPEG ช่วยให้ภาพโหลดบนเว็บได้รวดเร็วและแสดงภาพเป็นชั้น ๆ (โหลดก่อนเห็นก่อน)

ตัวอย่างการบันทึกเป็น Progressive JPEG:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# บันทึกเป็น Progressive JPEG
img.save('progressive_image.jpg', 'JPEG', quality=85, progressive=True)

เหมาะสำหรับเว็บไซต์ที่ต้องการโหลดภาพเร็วขึ้น

5.4 การเก็บข้อมูล EXIF

EXIF คือข้อมูลเมตาของภาพ (วันที่ถ่าย, กล้อง, GPS ฯลฯ) สามารถเก็บข้อมูล EXIF ไว้กับไฟล์ใหม่ได้

ตัวอย่างโค้ดเก็บ EXIF:

from PIL import Image

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# ดึงข้อมูล EXIF
exif_data = img.info.get('exif')

# บันทึกภาพพร้อม EXIF
img.save('exif_image.jpg', 'JPEG', exif=exif_data)

ช่วยให้ข้อมูลการถ่ายภาพไม่หายไปจากไฟล์

6. การใช้ฟิลเตอร์และเอฟเฟกต์กับภาพ

6.1 การปรับความสว่างและคอนทราสต์ของภาพ

Pillow สามารถปรับความสว่าง (Brightness) และคอนทราสต์ (Contrast) ของภาพได้ง่าย ๆ ด้วยโมดูล ImageEnhance เช่น ImageEnhance.Brightness() และ ImageEnhance.Contrast() สำหรับปรับเอฟเฟกต์ที่ต้องการ

ตัวอย่างโค้ดสำหรับปรับความสว่าง:

from PIL import Image, ImageEnhance

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# ปรับความสว่าง (เพิ่มขึ้น 1.5 เท่า)
enhancer = ImageEnhance.Brightness(img)
bright_img = enhancer.enhance(1.5)

# บันทึกภาพที่ปรับแล้ว
bright_img.save('bright_sample.jpg')

ในโค้ดนี้ enhance(1.5) คือความสว่างที่เพิ่มขึ้น 1.5 เท่า ค่า 1.0 คือค่าปกติ ต่ำกว่า 1 จะทำให้มืดลง สูงกว่า 1 จะสว่างขึ้น

ตัวอย่างโค้ดสำหรับปรับคอนทราสต์:

from PIL import Image, ImageEnhance

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# ปรับคอนทราสต์ (เพิ่มเป็น 2 เท่า)
enhancer = ImageEnhance.Contrast(img)
contrast_img = enhancer.enhance(2.0)

# บันทึกภาพที่ปรับแล้ว
contrast_img.save('contrast_sample.jpg')

คอนทราสต์ที่เพิ่มขึ้นช่วยให้ภาพดูเด่นชัดมากขึ้น

6.2 ฟิลเตอร์เบลอและความคมชัด

Pillow รองรับฟิลเตอร์สำหรับทำให้ภาพเบลอ (Blur) หรือคมชัด (Sharpen) โดยใช้โมดูล ImageFilter

ตัวอย่างการทำให้ภาพเบลอ:

from PIL import Image, ImageFilter

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# ใส่ฟิลเตอร์เบลอ
blurred_img = img.filter(ImageFilter.BLUR)

# บันทึกภาพที่เบลอแล้ว
blurred_img.save('blurred_sample.jpg')

หากต้องการให้ภาพคมชัด ใช้ ImageFilter.SHARPEN ดังตัวอย่าง:

# ใส่ฟิลเตอร์ความคมชัด
sharpened_img = img.filter(ImageFilter.SHARPEN)

# บันทึกภาพที่คมชัดแล้ว
sharpened_img.save('sharpened_sample.jpg')

6.3 การใช้ฟิลเตอร์พิเศษ

Pillow ยังมีฟิลเตอร์พิเศษ เช่น การตรวจจับขอบ (Edge Detection) หรือการวาดเส้นขอบ (Contour) ที่เหมาะกับการวิเคราะห์หรือออกแบบภาพ

ตัวอย่างการตรวจจับขอบของภาพ:

from PIL import Image, ImageFilter

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# ใส่ฟิลเตอร์ตรวจจับขอบ
edge_img = img.filter(ImageFilter.FIND_EDGES)

# บันทึกภาพขอบ
edge_img.save('edge_sample.jpg')

ฟิลเตอร์เหล่านี้เหมาะกับงานวิเคราะห์ภาพ งานออกแบบ หรือเตรียมข้อมูลภาพสำหรับ Machine Learning

7. การวาดข้อความและรูปทรงบนภาพ

7.1 วิธีวาดข้อความด้วย Pillow

การเพิ่มข้อความลงบนภาพ (ใส่ตัวอักษรใน Banner, Thumbnail, โลโก้ ฯลฯ) สามารถทำได้ด้วยโมดูล ImageDraw ใน Pillow

ตัวอย่างโค้ดวาดข้อความพื้นฐาน:

from PIL import Image, ImageDraw, ImageFont

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# สร้างอ็อบเจกต์ ImageDraw
draw = ImageDraw.Draw(img)

# วาดข้อความ
draw.text((10, 10), 'Hello, Pillow!', fill=(255, 255, 255))

# บันทึกภาพที่มีข้อความ
img.save('text_sample.jpg')

fill กำหนดสีตัวอักษร (ในที่นี้คือขาว)

7.2 การเลือกฟอนต์

สามารถเลือกใช้ฟอนต์หรือกำหนดขนาดฟอนต์เองได้ ด้วย ImageFont.truetype() เช่น ฟอนต์ Arial ขนาด 40

ตัวอย่างโค้ด:

from PIL import Image, ImageDraw, ImageFont

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# สร้างอ็อบเจกต์ ImageDraw
draw = ImageDraw.Draw(img)

# ระบุฟอนต์และขนาด (ต้องมีไฟล์ฟอนต์ arial.ttf)
font = ImageFont.truetype('arial.ttf', 40)

# วาดข้อความโดยใช้ฟอนต์ที่กำหนด
draw.text((10, 10), 'Custom Font!', font=font, fill=(255, 255, 255))

# บันทึกภาพที่มีข้อความ
img.save('font_sample.jpg')

7.3 การวาดรูปทรงต่าง ๆ

Pillow รองรับการวาดเส้นตรง, สี่เหลี่ยม, วงกลม ฯลฯ บนภาพด้วยเมธอด line(), rectangle(), ellipse() ของ ImageDraw

ตัวอย่างโค้ด:

from PIL import Image, ImageDraw

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# สร้างอ็อบเจกต์ ImageDraw
draw = ImageDraw.Draw(img)

# วาดเส้นตรง
draw.line((0, 0, 100, 100), fill=(255, 0, 0), width=5)

# วาดสี่เหลี่ยม
draw.rectangle((50, 50, 150, 150), outline=(0, 255, 0), width=3)

# วาดวงกลมหรือวงรี
draw.ellipse((200, 200, 300, 300), outline=(0, 0, 255), width=3)

# บันทึกภาพที่มีรูปทรง
img.save('shape_sample.jpg')

7.4 การวาดแบบซับซ้อนและผสมผสาน

สามารถวาดข้อความและรูปทรงผสมกันเพื่อออกแบบภาพ Banner, Thumbnail, โลโก้ หรือภาพประกอบที่ซับซ้อน เช่น วาดกรอบ + ข้อความ + วงกลม ฯลฯ ได้อย่างอิสระ เหมาะสำหรับการปรับแต่งภาพสำหรับเว็บหรือแอป

8. ขั้นสูง: การผสานภาพและการใช้มาสก์

8.1 การผสานภาพ (Image Composition)

การผสานภาพคือการนำภาพหลายภาพมารวมกัน เช่น การวางโลโก้ทับภาพพื้นหลัง หรือทำภาพคอลลาจ ใน Pillow สามารถใช้เมธอด paste() เพื่อวางภาพหนึ่งซ้อนบนอีกภาพหนึ่ง

ตัวอย่างโค้ดการผสานภาพ:

from PIL import Image

# อ่านภาพพื้นหลังและภาพที่ต้องการวางซ้อน
background = Image.open('background.jpg')
overlay = Image.open('overlay.png')

# ผสานภาพ (วาง overlay ที่ตำแหน่ง x=100, y=100)
background.paste(overlay, (100, 100), overlay)

# บันทึกภาพที่ผสานแล้ว
background.save('combined_image.jpg')

การใช้ overlay เป็นอาร์กิวเมนต์ที่สาม จะช่วยให้รองรับภาพแบบโปร่งใส (alpha channel)

8.2 การใช้มาสก์เพื่อตัดภาพ (Masking)

การใช้มาสก์ช่วยให้ตัดภาพเป็นรูปร่างเฉพาะ เช่น วงกลม ดาว ฯลฯ โดยใช้มาสก์ภาพขาวดำกำกับว่าตรงไหนให้โปร่งใส

ตัวอย่างโค้ดการใช้มาสก์วงกลม:

from PIL import Image, ImageDraw

# อ่านไฟล์ภาพ
img = Image.open('sample.jpg')

# สร้างมาสก์ (ขนาดเท่ากับภาพ)
mask = Image.new('L', img.size, 0)
draw = ImageDraw.Draw(mask)
draw.ellipse((100, 100, 300, 300), fill=255)

# วางภาพโดยใช้มาสก์
result = Image.new('RGB', img.size)
result.paste(img, (0, 0), mask)

# บันทึกผลลัพธ์
result.save('masked_image.jpg')

สีขาว (255) ในมาสก์จะแสดงส่วนของภาพ สีดำ (0) จะโปร่งใส

8.3 การใช้ Alpha Channel เพื่อทำภาพโปร่งใส

Alpha channel คือข้อมูลความโปร่งใสของภาพ สามารถใช้ putalpha() ใน Pillow เพื่อปรับค่าความโปร่งใส หรือสร้างไฟล์ PNG โปร่งใส

ตัวอย่างโค้ดปรับความโปร่งใส:

from PIL import Image

# อ่านไฟล์ภาพและแปลงเป็น RGBA
img = Image.open('sample.jpg').convert('RGBA')

# ดึง alpha channel
alpha = img.split()[3]
alpha = alpha.point(lambda p: p * 0.5)  # ปรับความโปร่งใส 50%
img.putalpha(alpha)

# บันทึกภาพโปร่งใส
img.save('transparent_image.png')

เหมาะสำหรับทำโลโก้หรือวัตถุที่ต้องการโปร่งใสบางส่วน

8.4 เทคนิคขั้นสูงและการประยุกต์ใช้

เทคนิคเหล่านี้ช่วยให้สามารถสร้างงานกราฟิกอัตโนมัติ เช่น การรวมโลโก้กับพื้นหลัง, การตัดเฉพาะส่วน, การสร้างภาพประกอบสำหรับโฆษณาหรือเว็บไซต์ ฯลฯ
โดยเฉพาะการใช้มาสก์และ alpha channel ทำให้สามารถออกแบบคอนเทนต์ที่ดูเป็นมืออาชีพและเหมาะกับงานบนเว็บหรือแอปพลิเคชันมากยิ่งขึ้น

9. สรุป

ในบทความนี้ ได้อธิบายเทคนิคการประมวลผลภาพต่าง ๆ ด้วยไลบรารี Pillow ของ Python ตั้งแต่การอ่านไฟล์ภาพ บันทึก รีไซส์ ครอป รวมถึงการผสานภาพ ใส่ฟิลเตอร์ วาดข้อความ วาดรูปทรง และการใช้มาสก์/ความโปร่งใส

9.1 ทบทวนพื้นฐานการใช้ Pillow

เริ่มจากวิธีติดตั้ง การเปิด/แสดงภาพ และการดึงข้อมูลเบื้องต้นเกี่ยวกับไฟล์ภาพ จนถึงการปรับแต่งภาพเบื้องต้น

9.2 การปรับขนาด ครอป หมุน ฯลฯ

เทคนิครีไซส์ ครอป และหมุนภาพ เป็นพื้นฐานที่ใช้บ่อย สามารถนำไปใช้พัฒนาเว็บไซต์หรือแอปที่ต้องจัดการภาพอัตโนมัติได้

9.3 การใช้ฟิลเตอร์และเอฟเฟกต์

การปรับความสว่าง คอนทราสต์ เบลอ ชาร์ป รวมถึงฟิลเตอร์พิเศษต่าง ๆ ทำได้ง่าย ช่วยยกระดับคุณภาพภาพให้น่าสนใจและใช้งานจริง

9.4 การวาดข้อความ รูปทรง และการผสานภาพ

การเพิ่มข้อความ รูปทรง หรือการรวมหลายภาพเข้าด้วยกันเหมาะสำหรับงานออกแบบป้าย Banner โลโก้ รวมถึงทำงานกับภาพโปร่งใสสำหรับเว็บ

9.5 การนำไปประยุกต์ใช้งานต่อ

ฟีเจอร์ของ Pillow ยังมีอีกมาก หากศึกษาจากเอกสารและแหล่งความรู้เพิ่มเติม สามารถนำไปประยุกต์ใช้ในงานวิเคราะห์ข้อมูลภาพ, อัตโนมัติในเว็บแอป หรือแม้แต่ Machine Learning ได้

ใช้ความรู้เหล่านี้ต่อยอดสร้างโปรเจกต์หรือเว็บที่จัดการภาพได้อย่างมืออาชีพและมีประสิทธิภาพ