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

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

نبذة عن المكتبة

ربما احتجت يوما في مشروعك الى التعديل على الصور واضافة تأثيرات عليه مثل البرامج الاحترافية مثل الفوتوشوب وبرنامج جيمبا, بحثت فوجدت مكتبة  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 ...

النتيجة تظهر كما يلي:



الان سنقوم بتصغير الصورة ونجعلها قصاصة 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


يمكنك تحميل المشروع

من هنا


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