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

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

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

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

sudo pip3 install opencv-python

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

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

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

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

  • तो सीमा के पास के सभी पिक्सेल्स को त्याग दिया जाएगा।

  • तो फोरग्राउंड ऑब्जेक्ट की मोटाई कम हो जाती है।

डाइलेशन इमेज क्या है और यह कैसे काम करता है?

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

  • एक इमेज से एक कर्नेल बनाया जाता है। कर्नेल एक मैट्रिक्स है, जहां क्रम विषम होता है, जैसे 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) # numpy से 3x3 मैट्रिक्स के रूप में कर्नेल सेट करें

# मूल इमेज से इरोजन और डाइलेशन इमेज बनाएं
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) # बाहर निकलने के लिए एक कुंजी की प्रतीक्षा करें

आउटपुट

पायथन में OpenCV का उपयोग करके इमेजेज का इरोजन और डाइलेशन
  1. Python प्रोग्राम: OpenCV का उपयोग करके इमेज के एज डिटेक्ट करना Python प्रोग्राम: OpenCV का उपयोग करके इमेज के एज डिटेक्ट करना

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

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

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

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

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