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

इमेज में हॉरिजॉन्टल लाइन हटाना (OpenCV, Python, Matplotlib)


इमेज में हॉरिजॉन्टल लाइन हटाने के लिए, हम निम्नलिखित चरण अपना सकते हैं:

  • लोकल इमेज पढ़ें।
  • इमेज को एक कलर स्पेस से दूसरे में बदलें।
  • प्रत्येक एरे एलिमेंट पर फिक्स्ड-लेवल थ्रेशोल्ड लागू करें।
  • मॉर्फोलॉजिकल ऑपरेशन के लिए निर्दिष्ट आकार और आकृति का स्ट्रक्चरिंग एलिमेंट प्राप्त करें।
  • उन्नत मॉर्फोलॉजिकल ट्रांसफॉर्मेशन करें।
  • बाइनरी इमेज में कंटूर खोजें।
  • अलग कर्नेल साइज के साथ चरण 4 दोहराएं।
  • चरण 7 से नए कर्नेल के साथ चरण 5 दोहराएं।
  • परिणामी इमेज दिखाएं।

उदाहरण

import cv2

image = cv2.imread('input_image.png')
cv2.imshow('source_image', image)

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]

horizontal_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (25, 1))
detected_lines = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, horizontal_kernel, iterations=2)

cnts = cv2.findContours(detected_lines, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]

for c in cnts:
    cv2.drawContours(image, [c], -1, (255, 255, 255), 2)

repair_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (1, 6))
result = 255 - cv2.morphologyEx(255 - image, cv2.MORPH_CLOSE, repair_kernel, iterations=1)

cv2.imshow('resultant image', result)
cv2.waitKey()
cv2.destroyAllWindows()

आउटपुट

इमेज में हॉरिजॉन्टल लाइन हटाना (OpenCV, Python, Matplotlib)इमेज में हॉरिजॉन्टल लाइन हटाना (OpenCV, Python, Matplotlib)इमेज में हॉरिजॉन्टल लाइन हटाना (OpenCV, Python, Matplotlib)

ध्यान दें कि हमारे source_image में हॉरिजॉन्टल लाइन resultant_image में अब दिखाई नहीं दे रही हैं।


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

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

  1. Python में OpenCV का उपयोग करके टेम्पलेट मैचिंग Python में OpenCV का उपयोग करके टेम्पलेट मैचिंग

    टेम्पलेट मैचिंग एक तकनीक है, जिसके द्वारा एक पैच या टेम्पलेट को वास्तविक इमेज से मैच किया जा सकता है। यह मूल रूप से एक पैटर्न मैचिंग तंत्र है। Python में OpenCV मॉड्यूल है। OpenCV का उपयोग करके, हम आसानी से मैच ढूंढ सकते हैं। तो इस समस्या में, OpenCV टेम्पलेट मैचिंग तकनीकों का उपयोग किया जाता है। Op

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

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