شرح مكتبة Pillow لمعالجة الصور واضافة تأثيرات Python

شرح مكتبة Pillow لمعالجة الصور واضافة تأثيرات Python

مكتبة Pillow 

ربما احتجت يوما في مشروعك الى التعديل على الصور واضافة تأثيرات عليه مثل البرامج الاحترافية مثل الفوتوشوب وبرنامج جيمبا, بحثت فوجدت مكتبة  Pillow تقوم بالعملية, سأضع مثال وسأقوم بشرحه تابع معي.

شرح مكتبة Pillow لمعالجة الصور 

يجب علينا تثبيت المكتبة لأنها ليست مدمجة مع بايثون Built in
  • ثبتها بالامر
pip install Pillow
أو
easy_install Pillow
سنبدا ببرمجة سكريبت بسيط يقوم باظهار معلومات عن الصورة
  •  يجب ان تستدعي المكتبة كالاتي
from PIL import Image, ImageFilter
  • ننشئ متغير نسميه filename مثلا, ونعطيه مسار الصورة
filename = "image.jpg"
  • نقوم بفتح  Open وقراءة الصورة Load بالامر 
original = Image.open(filename)
original.load()
  • الان سنطبع على الشاشة معلومات الصورة بالأمر:
print "The size of the Image is: "
print(original.format, original.size, original.mode)
  • Format : هو امتداد الصورة Jpg او PNG ...
  • Size: يظهر لنا أبعاد الصورة
  • Mode: نظام الالوان RGB ...

النتيجة تظهر كما يلي:
سكريبت بسيط يقوم باظهار معلومات عن الصورة Pillow
  • الان سنقوم بتصغير الصورة ونجعلها قصاصة Thumbnail وكالاتي
original.thumbnail((128,128))
  • طبعا يمكنك تغيير القيمة 128, 128 الي ما تريد.
  • لاظهار الصورة على الشاشة استعمل الامر show
original.show()
  • اذا اردت حفظ الصورة الناتجة على القرص استعمل الامر save
original.save("thumb.jpg")

الأن سنقوم باضافة فلتر على الصورة وهذه أنواع الفلاتر الموجودة


#BLUR
#CONTOUR
#DETAIL
#EDGE_ENHANCE
#EDGE_ENHANCE_MORE
#EMBOSS
#FIND_EDGES
#SMOOTH
#SMOOTH_MORE
#SHARPEN


سنستعمل فلتر CONTOUR كالأتي


CONTOUR = original.filter(ImageFilter.CONTOUR)
CONTOUR.show()
وهذه النتيجة تظهر كأن الصورة مرسومة بقلم رصاص


سنستعمل فلتر أخر BLUR سيقوم بيمويه الصورة

BLUR = original.filter(ImageFilter.BLUR)
BLUR.show()
والنتيجة

يمكننا حفظ الصورة بصيغة أو امتداد أخر مثلا PNG

بالامر
original.save("image.png")

هذا الكود النهائي
python-pillow-lib

تستطع عمل الكثير مع هذه المكتبة أتمنى الاطلاع على وثائقها: