การ resize รูปภาพ ให้มีขนาดเล็กลง ด้วย Python ลดขนาดรูป

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

kritsadak
PHP Full Member
PHP Full Member
โพสต์: 30
ลงทะเบียนเมื่อ: 24/12/2018 10:18 am

การ resize รูปภาพ ให้มีขนาดเล็กลง ด้วย Python ลดขนาดรูป

โพสต์โดย kritsadak » 26/12/2018 11:59 am

บทความนี้จะสอนการปรับขนาดรูปภาพง่ายๆ ด้วย ภาษา python เพียงไม่กี่บรรทัด ก็จะช่วยให้ภาพเดิมที่มีขนาดใหญ่ ทำให้เล็กลงเหมาะสมกับการนำรูปภาพไปใช้ต่อ หรือจะเป็นการขยายรูปภาพจากเล็กให้มีขนาดใหญ่ขึ้นก็ทำได้เช่นกัน (แต่ถ้าภาพเล็กมากๆแล้วขยายขนาดขึ้นอาจจะทำให้ภาพไม่คมชัดได้)

ขั้นแรก จะต้องติดตั้ง Library ให้กับ Python ก่อน โดยใส่คำสั่งดังนี้

โค้ด: เลือกทั้งหมด

pip3 install Pillow


ตัวอย่างภาพที่จะทำการ resize รูปภาพ (ซึ่งมีขนาด 1920 X 1281) ตามรูป
รูปภาพ

เปิดโปรแกรมขึ้นมา จากนั้นให้เขียน code เพื่อ import library ที่ติดตั้งมา

โค้ด: เลือกทั้งหมด

import PIL
from PIL import Image


บรรทัดต่อมาจะเป็นการเลือกรูปภาพที่ต้องการ resize ชื่อว่า "waterfall.jpg"

โค้ด: เลือกทั้งหมด

imageresize = Image.open('waterfall.jpg')


ส่วนต่อมาจะเป็น code คำสั่งการ resize ตามขนาดที่ต้องการ

โค้ด: เลือกทั้งหมด

imageresize = imageresize.resize((400,250), PIL.Image.ANTIALIAS)
print('resize finish')
imageresize.save('resized image waterfall.png')

ซึ่งจะเลือกปรับให้ภาพมีขนาด 400 x 250 pixel
แล้วจะทำการ save เป็นรูปภาพใหม่เพิ่มขึ้นมาในชื่อ "resized image waterfall.png" (หรือจะ Save ทับรูปเดิมโดยใส่ชื่อเหมือนเดิมก็ได้)

ก่อน Run โปรแกรม
รูปภาพ
หลัง Run โปรแกรม (จะได้ไฟล์รูปภาพเพิ่มมา 1 ไฟล์ชื่อ "resized image waterfall.png")
รูปภาพ

ผลลัพท์ที่ได้ รูปภาพ จะเห็นได้ว่า pixel ก็จะมีขนาดเล็กลงตามที่ได้กำหนดไว้
รูปภาพ

Code ตัวอย่างทั้งหมด

โค้ด: เลือกทั้งหมด

import PIL
from PIL import Image
imageresize = Image.open('waterfall.jpg')
imageresize = imageresize.resize((400,250), PIL.Image.ANTIALIAS)
print('resize finish')
imageresize.save('resized image waterfall.png')

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 11 และ บุคคลทั่วไป 0 ท่าน