Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में छवियों के साथ काम करना?

सबसे लोकप्रिय में से एक और छवि प्रसंस्करण के लिए अजगर के डिफ़ॉल्ट पुस्तकालय के रूप में माना जाता है तकिया है। पिलो पायथन इमेज लाइब्रेरी या पीआईएल का एक अद्यतन संस्करण है और सरल और उन्नत छवि हेरफेर कार्यक्षमता की एक श्रृंखला का समर्थन करता है। यह अन्य पायथन पुस्तकालयों जैसे कि 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 फ़ाइल के थंबनेल लौटाएगा।


  1. पायथन में इमेज प्रोसेसिंग?

    पायथन इमेज प्रोसेसिंग के लिए बहुत सारी लाइब्रेरी प्रदान करता है, जिसमें − . भी शामिल है ओपनसीवी - इमेज प्रोसेसिंग लाइब्रेरी मुख्य रूप से 2डी और 3डी फीचर टूलकिट, फेशियल और जेस्चर रिकॉग्निशन, ह्यूमन-कंप्यूटर इंटरेक्शन, मोबाइल रोबोटिक्स, ऑब्जेक्ट आइडेंटिफिकेशन और अन्य जैसे व्यापक क्षेत्रों में एप्लि

  1. पायथन में आकार विशेषताओं के आधार पर छवियों को फ़िल्टर करना?

    पायथन इमेज प्रोसेसिंग के लिए कई लाइब्रेरी प्रदान करता है जिसमें पिलो, पायथन इमेजिंग लाइब्रेरी, स्किकिट-इमेज या ओपनसीवी शामिल हैं। हम यहां इमेज प्रोसेसिंग के लिए पिलो लाइब्रेरी का उपयोग करने जा रहे हैं क्योंकि यह इमेज मैनिपुलेशन के लिए कई मानक प्रक्रियाएं प्रदान करता है और छवि फ़ाइल स्वरूपों की श्रे

  1. पायथन का उपयोग कर छवियों को पढ़ना?

    OpenCV का उपयोग करके इमेज प्रोसेसिंग OpenCV (ओपन सोर्स कंप्यूटर विज़न) एक ओपन सोर्स प्रोग्रामिंग लाइब्रेरी है जिसे मूल रूप से मशीन लर्निंग और कंप्यूटर विज़न के लिए विकसित किया गया है। यह कंप्यूटर विज़न अनुप्रयोगों पर काम करने और व्यावसायिक उत्पादों में मशीन लर्निंग के उपयोग को तेज़ करने के लिए सामा