চিত্র প্রক্রিয়াকরণের জন্য পাইথনের ডিফল্ট লাইব্রেরি হিসাবে সবচেয়ে জনপ্রিয় এবং বিবেচিত একটি হল পিলো। বালিশ হল পাইথন ইমেজ লাইব্রেরি বা পিআইএল-এর একটি আপডেটেড সংস্করণ এবং এটি বিভিন্ন সাধারণ এবং উন্নত ইমেজ ম্যানিপুলেশন কার্যকারিতা সমর্থন করে। এটি অন্যান্য পাইথন লাইব্রেরি যেমন sciPy এবং Matplotlib-এ সহজ ইমেজ সমর্থনের ভিত্তি।
বালিশ ইনস্টল করা
আমরা শুরু করার আগে, আমাদের পাইথন এবং বালিশ দরকার। লিনাক্সের ক্ষেত্রে, বালিশ সম্ভবত ইতিমধ্যেই থাকবে, যেহেতু ফেডোরা, ডেবিয়ান/উবুন্টু এবং আর্চলিনাক্স সহ লিনাক্সের প্রধান স্বাদে আগে পিআইএল থাকা প্যাকেজগুলিতে পিলো অন্তর্ভুক্ত রয়েছে।
এটি ইনস্টল করার সবচেয়ে সহজ উপায় হল পিপ ব্যবহার করা:
pip install pillow
কিভাবে ছবি লোড এবং প্রদর্শন করতে হয়
পাইথন পিলো লাইব্রেরি ব্যবহার করার কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য প্রদর্শনের জন্য প্রথমে আমাদের একটি পরীক্ষার চিত্র প্রয়োজন৷
আমি মূর্তি_অফ_ইউনিটি ফটোটি নমুনা চিত্র হিসাবে ব্যবহার করেছি। ছবিটি ডাউনলোড করুন এবং আপনার বর্তমান কাজের ডিরেক্টরিতে সংরক্ষণ করুন৷
৷#Load and show an image with Pillow from PIL import Image #Load the image img = Image.open('statue_of_unity.jpg') #Get basic details about the image print(img.format) print(img.mode) print(img.size) #show the image img.show()
ফলাফল
JPEG RGB (400, 260)
উপরের চিত্রটি ইমেজ ক্লাসে open() ফাংশন ব্যবহার করে সরাসরি লোড করা হয়। এটি একটি ইমেজ অবজেক্ট রিটার্ন করে যাতে ইমেজের পিক্সেল ডেটা এবং সেইসাথে ইমেজ সম্পর্কে বিশদ বিবরণ থাকে।
ইমেজের ফরম্যাট প্রপার্টি ইমেজ ফরম্যাট রিপোর্ট করবে (যেমন png, jpeg), মোড পিক্সেল চ্যানেল ফরম্যাট রিপোর্ট করবে (যেমন CMYK বা RGB) এবং সাইজ ইমেজের ডাইমেনশন পিক্সেলে রিপোর্ট করবে (যেমন 400*260)
শো() ফাংশন অপারেটিং সিস্টেম ডিফল্ট অ্যাপ্লিকেশন ব্যবহার করে ছবি প্রদর্শন করবে।
একটি ছবিকে গ্রেস্কেলে রূপান্তর করুন
একটি চিত্রকে গ্রেস্কেলে রূপান্তর করতে, এটি প্রদর্শন করুন এবং তারপরে এটি সংরক্ষণ করুন খুব সহজ, শুধুমাত্র নিম্নলিখিতগুলি করুন:
#Import required library from PIL import Image #Read an image & convert it to gray-scale image = Image.open('statue_of_unity.jpg').convert('L') #Display image image.show() #Save image image.save('statue_of_unity_gs.jpg')
ফলাফল
উপরের প্রোগ্রামটি চালানোর পরে, আপনার বর্তমান কার্যকারী ডিরেক্টরিতে একটি ফাইল "statue_of_unity_gs.jpg" তৈরি করা হয়৷
অন্য ইমেজ টাইপে রূপান্তর করুন
এক ধরনের (jpeg) ছবিকে অন্য (বলুন, png) তে রূপান্তর করাও খুব সহজ৷
from PIL import Image image = Image.open('statue_of_unity.jpg') image.save('statue_of_unity.png')
একটি নতুন চিত্র ফাইল তৈরি করা হয়েছে এবং আমাদের ডিফল্ট ডিরেক্টরিতে সংরক্ষণ করা হয়েছে৷
৷একটি চিত্রের আকার পরিবর্তন করুন
আমাদের বর্তমান চিত্র ফাইলের আকার (মাত্রা) হল 400 * 260px। যদি আমরা এটির আকার পরিবর্তন করতে চাই এবং এটিকে 440 * 600px আকারের করতে চাই, তাহলে এটি করা যেতে পারে:
পিআইএল ইমপোর্ট ইমেজ থেকে
image = Image.open('statue_of_unity.jpg') newImage = image.resize((440, 600)) newImage.save('statue_of_unity_440&600.jpg')
440 *600px আকারের একটি নতুন ফাইল 'statue_of_unit_440*600.jpg' তৈরি করা হয়েছে এবং আপনার বর্তমান কাজের ডিরেক্টরিতে সংরক্ষণ করা হয়েছে৷
আপনি দেখতে পাচ্ছেন, এটি আমাদের আসল চিত্রটিকে ক্রপ করার পরিবর্তে পছন্দসই মাত্রায় বড় করে, যা আপনি নাও চাইতে পারেন।
যদি আপনি বিদ্যমান চিত্রটি ক্রপ করতে চান, আপনি এটি ব্যবহার করে করতে পারেন,
image.crop(box=None)
একটি ছবি ঘোরান
নীচের প্রোগ্রামটি একটি চিত্র লোড করে, এটি 45 ডিগ্রি ঘোরায় এবং একটি বহিরাগত ভিউয়ার ব্যবহার করে এটি প্রদর্শন করে৷
from PIL import Image image = Image.open('statue_of_unity.jpg') image.rotate(45).show()
থাম্বনেল তৈরি করুন
নীচের প্রোগ্রামটি আপনার বর্তমান কার্যকারী ডিরেক্টরিতে সমস্ত jpeg ছবির 128*128 থাম্বনেল তৈরি করবে৷
from PIL import Image import glob, os size = 128, 128 for infile in glob.glob("*.jpg"): file, ext = os.path.splitext(infile) image = Image.open(infile) image.thumbnail(size, Image.ANTIALIAS) image.save(file + ".thumbnail", "JPEG")
ফলাফল
'statue_of_unity.jpg' ইমেজ সহ আমার বর্তমান ডিরেক্টরিতে (c:\python\python361) সমস্ত jpeg ফাইলের থাম্বনেইল ফিরিয়ে দেবে।