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

पायथन में ओपनसीवी का उपयोग करके छवियों का क्षरण और फैलाव

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

OpenCV कार्यक्षमता का उपयोग करने के लिए, हमें उन्हें pip . का उपयोग करके डाउनलोड करना होगा ।

sudo pip3 install opencv-python

इरोजन इमेज क्या है और यह कैसे काम करती है?

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

  • एक छवि से एक कर्नेल बनता है। कर्नेल एक मैट्रिक्स है, जहां क्रम विषम है, जैसे 3, 5, 7.

  • छवि का एक पिक्सेल चुना जाता है। यह पिक्सेल 1 के रूप में तभी चुना जाएगा जब कर्नेल के नीचे के सभी पिक्सेल 1 हों। अन्यथा यह नष्ट हो जाएगा।

  • इसलिए बाउंड्री के पास के सभी पिक्सेल हटा दिए जाएंगे.

  • तो अग्रभूमि वस्तु की मोटाई कम हो जाती है।

Dilation Image क्या है और यह कैसे काम करती है?

Dilation में, यह वस्तु क्षेत्र को बढ़ाता है। कटाव सफेद शोर को दूर कर सकता है, लेकिन यह हमारी छवि को भी छोटा करता है, इसलिए क्षरण के बाद, यदि फैलाव किया जाता है, तो हम बेहतर शोर हटाने के परिणाम प्राप्त कर सकते हैं। Dilation का उपयोग किसी वस्तु के कुछ टूटे हुए हिस्सों को जोड़ने के लिए भी किया जा सकता है।

  • एक छवि से एक कर्नेल बनता है। कर्नेल एक मैट्रिक्स है, जहां क्रम विषम है, जैसे 3, 5, 7.

  • छवि का एक पिक्सेल चुना जाता है। यह पिक्सेल 1 के रूप में तभी चुना जाएगा जब कर्नेल के अंतर्गत सभी पिक्सेल 1 हों।

  • सफेद क्षेत्र या छवि के अग्रभूमि वस्तुओं के आकार को बढ़ाता है।

उदाहरण कोड

import cv2 
import numpy as np
input_image = cv2.imread('TP_logo.jpg', cv2.IMREAD_COLOR)
 kernel = np.ones((3,3), np.uint8)       # set kernel as 3x3 matrix from numpy
#Create erosion and dilation image from the original image
erosion_image = cv2.erode(input_image, kernel, iterations=1)
dilation_image = cv2.dilate(input_image, kernel, iterations=1)
cv2.imshow('Input', input_image)
cv2.imshow('Erosion', erosion_image)
cv2.imshow('Dilation', dilation_image)
cv2.waitKey(0)       #wait for a key to exit

आउटपुट

पायथन में ओपनसीवी का उपयोग करके छवियों का क्षरण और फैलाव
  1. OpenCV का उपयोग करके छवि के किनारों का पता लगाने के लिए पायथन प्रोग्राम

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

  1. पायथन में OpenCv का उपयोग करके छवियों का जोड़ और सम्मिश्रण

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

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

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