इस समस्या में, हम देखेंगे कि ओपनसीवी मॉड्यूल का उपयोग करके पायथन कुछ मॉर्फोलॉजिकल ऑपरेशन जैसे कि कटाव और फैलाव कैसे कर सकता है। 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