पायथन इमेज प्रोसेसिंग के लिए बहुत सारी लाइब्रेरी प्रदान करता है, जिनमें शामिल हैं -
OpenCV - इमेज प्रोसेसिंग लाइब्रेरी मुख्य रूप से रीयल-टाइम कंप्यूटर विजन पर केंद्रित है जिसमें 2D और 3D फीचर टूलकिट, चेहरे और हावभाव पहचान, मानव-कंप्यूटर इंटरैक्शन, मोबाइल रोबोटिक्स, वस्तु पहचान और अन्य जैसे क्षेत्रों में अनुप्रयोग हैं।
Numpy और Scipy लाइब्रेरी - इमेज मैनिपुलेशन और प्रोसेसिंग के लिए।
Scikit - इमेज प्रोसेसिंग के लिए बहुत सारे एल्गोरिदम प्रदान करता है।
Python Imaging Library (PIL) - थंबनेल बनाने, आकार बदलने, घुमाने, विभिन्न फ़ाइल फॉर्मेट के बीच कन्वर्ट करने आदि जैसे छवियों पर बुनियादी संचालन करने के लिए।
इस खंड में हम पायथन में इमेज प्रोसेसिंग की कुछ बुनियादी बातें देखने जा रहे हैं।
आवश्यक लाइब्रेरी इंस्टॉल करें
हमारा पहला चरण आवश्यक लाइब्रेरी इंस्टॉल करना होगा, जैसे openCV, pillow या अन्य जिसे हम इमेज प्रोसेसिंग के लिए उपयोग करना चाहते हैं। हम आवश्यक लाइब्रेरी इंस्टॉल करने के लिए pip का उपयोग कर सकते हैं, जैसे -
$pip install pillow
बस इतना ही: अब हम अपनी छवि के साथ खेल सकते हैं।
इमेज: Open() और show()
सबसे पहले, फ़ाइल/छवि खोलें और दिखाएं। आप दिखाते समय छवि को घुमा सकते हैं जैसे नीचे -
# आवश्यक लाइब्रेरी आयात करें
from PIL import Image
# इमेज खोलें
im = Image.open("TajMahal.jpg")
# इमेज घुमाएं और दिखाएं
im.rotate(45).show()
आउटपुट

चूंकि उपरोक्त वेरिएबल im, एक पिलो ऑब्जेक्ट है। हम खुली छवि के बारे में कुछ जानकारी प्राप्त कर सकते हैं -
>>> im>>> im.size (1000, 667) >>> im.format 'JPEG' >>>
इमेज कन्वर्ट और Save() करें
हम छवि के फॉर्मेट को एक रूप से दूसरे में बदल सकते हैं, जैसे नीचे -
>>> im.save('TajMahal.png')
अब अगर हम फ़ोल्डर देखते हैं, तो हमारे पास उसी छवि के दो अलग-अलग फॉर्मेट हैं।
Resize-thumbnails()
हम pillow के thumbnail() मेथड का उपयोग करके छवि का आकार बदल सकते हैं -
>>> im.thumbnail((300, 300)) >>> im.show()
छवि निम्नानुसार बदल जाएगी:

ग्रेस्केल इमेज में कन्वर्ट करना - convert()
हम अपनी मूल रंगीन छवि से ग्रेस्केल छवि बना सकते हैं।
>>> TajMahal_gray = Image.open('TajMahal.jpg').convert('L')
>>> TajMahal_gray.show()
जहां "L" 'luminous' के लिए खड़ा है।

उपरोक्त उदाहरण पायथन की PIL लाइब्रेरी से है। हम इमेज प्रोसेसिंग के लिए open-cv, matplotlib और numpy जैसी अन्य लाइब्रेरी का उपयोग कर सकते हैं। नीचे अधिक शक्तिशाली लाइब्रेरी के उपयोग को प्रदर्शित करने के लिए कुछ उदाहरण प्रोग्राम हैं।
ग्रेस्केल में छवि दिखाना
# आवश्यक लाइब्रेरी आयात करें
import cv2
import numpy as np
from matplotlib import pyplot as plt
im = cv2.imread('TajMahal.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('image', im)
cv2.waitKey(0)
cv2.destroyAllWindows()
आउटपुट

उपरोक्त प्रोग्राम को टिक/लाइन के साथ लिखने का एक और तरीका छवि को चिह्नित करने के लिए।
import cv2
import numpy as np
from matplotlib import pyplot as plt
im = cv2.imread('TajMahal.jpg', cv2.IMREAD_GRAYSCALE)
plt.imshow(im, cmap='gray', interpolation='bicubic')
# X और Y अक्ष पर टिक मान छिपाने के लिए
plt.xticks([]), plt.yticks([])
plt.plot([200,300,400], [100,200,300], 'c', linewidth=5)
plt.show()
आउटपुट
