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

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

ओपनसीवी (OpenCV) का उपयोग करके छवि प्रसंस्करण

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

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

इसमें मैं समझाने की कोशिश करूंगा कि हम ओपनसीवी लाइब्रेरी और पायथन का उपयोग करके छवि को कैसे पढ़ और प्रदर्शित कर सकते हैं। यह cv2 और Numpy मॉड्यूल का उपयोग करके लागू किया गया है।

आप नम्पाई मॉड्यूल को पायथन पैकेज इंडेक्स (PyPI) से डाउनलोड कर सकते हैं।

$ pip install numpy

छवि पढ़ें

हम छवि पढ़ने के लिए cv2.imread() फ़ंक्शन का उपयोग करते हैं। छवि को वर्तमान कार्य निर्देशिका में रखा जाना चाहिए या फिर हमें पूर्ण पथ प्रदान करने की आवश्यकता है।

import numpy as np
import cv2
# रंगीन छवि को ग्रेस्केल में लोड करें
img = cv2.imread('Top-bike-wallpaper.jpg', 0)

छवि प्रदर्शित करें

एक विंडो में छवि प्रदर्शित करने के लिए, cv2.imshow() फ़ंक्शन का उपयोग करें।

# छवि प्रदर्शित करें
cv2.imshow('image', img)
# कुंजी बाइंडिंग फ़ंक्शन
cv2.waitKey(0)
# हमने पहले जो सभी विंडो बनाई थीं उन्हें नष्ट करें।
cv2.destroyAllWindows()

उपरोक्त कोड चलाने पर, विंडो का स्क्रीनशॉट इस तरह दिखेगा:

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

छवि लिखें

छवि को सहेजने के लिए फ़ंक्शन cv2.imwrite() का उपयोग करें।

पहला तर्क फ़ाइल नाम है, दूसरा तर्क वह छवि है जिसे आप सहेजना चाहते हैं।

cv2.imwrite('messigray.png', img)

संक्षेप में -

import numpy as np
import cv2
# छवि पढ़ें
# रंगीन छवि को ग्रेस्केल में लोड करें
img = cv2.imread('Top-bike-wallpaper.jpg', 0)
# छवि प्रदर्शित करें
cv2.imshow('image', img)
# कुंजी बाइंडिंग फ़ंक्शन
k = cv2.waitKey(0)
# बाहर निकलने के लिए ESC कुंजी की प्रतीक्षा करें
if k == 27:
    cv2.destroyAllWindows()
# सहेजने और बाहर निकलने के लिए 's' कुंजी की प्रतीक्षा करें
elif k == ord('s'):
    cv2.imwrite('myBike.jpg', img)
    cv2.destroyAllWindows()

छवि को सहेजने के लिए 's' दबाएं या केवल बाहर निकलने के लिए बिना सहेजे 'ESC' कुंजी दबाएं।

पायथन इमेजिंग लाइब्रेरी (PIL) का उपयोग करना

पायथन इमेजिंग लाइब्रेरी (PIL) पायथन में छवि हेरफेर लाइब्रेरी है। PIL लाइब्रेरी इंस्टॉल करने के लिए pip का उपयोग करें:

$ pip install Pillow

from PIL import Image, ImageFilter

# छवि पढ़ें
im = Image.open('myBike.png')
# छवि प्रदर्शित करें
im.show()
# छवि पर फ़िल्टर लागू करें
im_sharp = im.filter(ImageFilter.SHARPEN)
# फ़िल्टर की गई छवि को नई फ़ाइल में सहेजें
im_sharp.save('another_Bike.jpg', 'JPEG')

आउटपुट

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

छवि मेरे डिफ़ॉल्ट स्थान में सहेजी गई है यानी वर्तमान में कार्य निर्देशिका और विंडो का स्क्रीनशॉट हमारी छवियों को प्रदर्शित करेगा।

  1. Python में OpenCV का उपयोग करके इमेजेस का जोड़ और ब्लेंडिंग Python में OpenCV का उपयोग करके इमेजेस का जोड़ और ब्लेंडिंग

    हम जानते हैं कि जब हम किसी इमेज से संबंधित समस्या को हल करते हैं, तो हमें एक मैट्रिक्स लेना होता है। मैट्रिक्स कंटेंट इमेज टाइप के आधार पर भिन्न होगा - या तो यह बाइनरी इमेज (0, 1) होगी, ग्रेस्केल इमेज (0-255) या RGB इमेज (255 255 255)। इसलिए यदि हम दो इमेजेस को जोड़ना चाहते हैं तो इसका मतलब बहुत सरल

  1. Python OpenCV मॉड्यूल का उपयोग करके हिस्टोग्राम इक्वलाइज़ेशन Python OpenCV मॉड्यूल का उपयोग करके हिस्टोग्राम इक्वलाइज़ेशन

    यह इमेज प्रोसेसिंग में एक विधि है जो इमेज के हिस्टोग्राम का उपयोग करके कंट्रास्ट एडजस्टमेंट करती है। वास्तव में यह विधि आमतौर पर कई इमेजेस के ग्लोबल कंट्रास्ट को बढ़ाती है, विशेष रूप से जब इमेज का उपयोग योग्य डेटा क्लोज कंट्रास्ट वैल्यूज़ द्वारा दर्शाया जाता है और इस एडजस्टमेंट के माध्यम से, इंटेंसि

  1. पायथन में OpenCV का उपयोग करके इमेजेज का इरोजन और डाइलेशन पायथन में OpenCV का उपयोग करके इमेजेज का इरोजन और डाइलेशन

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