सबसे लोकप्रिय में से एक और छवि प्रसंस्करण के लिए अजगर के डिफ़ॉल्ट पुस्तकालय के रूप में माना जाता है तकिया है। पिलो पायथन इमेज लाइब्रेरी या पीआईएल का एक अद्यतन संस्करण है और सरल और उन्नत छवि हेरफेर कार्यक्षमता की एक श्रृंखला का समर्थन करता है। यह अन्य पायथन पुस्तकालयों जैसे कि sciPy और Matplotlib में सरल छवि समर्थन का भी आधार है।
तकिया स्थापित करना
शुरू करने से पहले, हमें अजगर और तकिए की जरूरत है। लिनक्स के मामले में, तकिया शायद पहले से ही होगा, क्योंकि फेडोरा, डेबियन/उबंटू और आर्कलिनक्स सहित लिनक्स के प्रमुख स्वाद में पिलो को उन पैकेजों में शामिल किया गया है जिनमें पहले पीआईएल शामिल था।
इसे स्थापित करने का सबसे आसान तरीका पाइप का उपयोग करना है:
pip install pillow
छवियों को कैसे लोड और प्रदर्शित करें
पहले हमें पायथन पिलो लाइब्रेरी का उपयोग करने की कुछ महत्वपूर्ण विशेषताओं को प्रदर्शित करने के लिए एक परीक्षण छवि की आवश्यकता है।
मैंने एक नमूना छवि के रूप में Statue_of_unity फोटो का उपयोग किया है। छवि डाउनलोड करें और इसे अपनी वर्तमान कार्यशील निर्देशिका में सहेजें।
#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)

छवि के ऊपर छवि वर्ग पर खुले () फ़ंक्शन का उपयोग करके सीधे लोड किया जाता है। यह एक छवि ऑब्जेक्ट देता है जिसमें छवि के लिए पिक्सेल डेटा और साथ ही छवि के बारे में विवरण होता है।
छवि पर प्रारूप संपत्ति छवि प्रारूप (जैसे पीएनजी, जेपीईजी) की रिपोर्ट करेगी, मोड पिक्सेल चैनल प्रारूप (जैसे सीएमवाईके या आरजीबी) की रिपोर्ट करेगा और आकार पिक्सेल में छवि के आयामों की रिपोर्ट करेगा (उदा। 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")
परिणाम

मेरी वर्तमान निर्देशिका (c:\python\python361) में 'statue_of_unity.jpg' छवि सहित सभी jpeg फ़ाइल के थंबनेल लौटाएगा।