सामग्री पर जाएं

टर्मिनल में अनुमान परिणाम देखना

टर्मिनल में छवि का सिक्सेल उदाहरण

libsixel वेबसाइट से छवि।

प्रेरणा

रिमोट मशीन से कनेक्ट करते समय, सामान्य रूप से छवि परिणामों की कल्पना करना संभव नहीं है या जीयूआई के साथ स्थानीय डिवाइस पर डेटा ले जाने की आवश्यकता होती है। VSCode एकीकृत टर्मिनल सीधे छवियों को प्रस्तुत करने की अनुमति देता है। यह एक छोटा प्रदर्शन है कि इसके साथ संयोजन के रूप में इसका उपयोग कैसे किया जाए ultralytics के साथ भविष्यवाणी के परिणाम.

चेतावनी

केवल लिनक्स और मैकओएस के साथ संगत। जाँच गर्नुहोस् VSCode भंडारजाँच समस्या की स्थितिनहीं तो प्रलेखन के साथ टर्मिनल में छवियों को देखने के लिए विंडोज समर्थन के बारे में अपडेट के लिए sixel.

एकीकृत टर्मिनल का उपयोग करके छवियों को देखने के लिए VSCode संगत प्रोटोकॉल हैं sixel और iTerm. यह मार्गदर्शिका के उपयोग को प्रदर्शित करेगी sixel प्रोटोकॉल।

प्रक्रिया

  1. सबसे पहले, आपको सेटिंग्स सक्षम करनी होंगी terminal.integrated.enableImages और terminal.integrated.gpuAcceleration VSCode में।

    "terminal.integrated.gpuAcceleration": "auto" # "auto" is default, can also use "on"
    "terminal.integrated.enableImages": false
    

    VSCode टर्मिनल इमेज सेटिंग सक्षम करें

  2. स्थापित करें python-sixel अपने आभासी वातावरण में पुस्तकालय। यह एक है कांटा का PySixel पुस्तकालय, जिसका अब रखरखाव नहीं किया जाता है।

    pip install sixel
    
  3. एक मॉडल लोड करें और अनुमान निष्पादित करें, फिर परिणामों को प्लॉट करें और एक चर में स्टोर करें। पूर्वानुमान मोड पृष्ठ पर अनुमान तर्कों और परिणामों के साथ कार्य करने के बारे में अधिक देखें.

    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolov8n.pt")
    
    # Run inference on an image
    results = model.predict(source="ultralytics/assets/bus.jpg")
    
    # Plot inference results
    plot = results[0].plot()  # (1)!
    
    1. उपयोग करने के लिए संभावित तर्क देखने के लिए प्लॉट विधि पैरामीटर देखें।
  4. अब, कन्वर्ट करने के लिए OpenCV का उपयोग करें numpy.ndarray तक bytes डाटा। फिर उपयोग करें io.BytesIO "फ़ाइल जैसी" वस्तु बनाने के लिए।

    import io
    
    import cv2
    
    # Results image as bytes
    im_bytes = cv2.imencode(
        ".png",  # (1)!
        plot,
    )[1].tobytes()  # (2)!
    
    # Image bytes as a file-like object
    mem_file = io.BytesIO(im_bytes)
    
    1. अन्य छवि एक्सटेंशन का भी उपयोग करना संभव है।
    2. केवल सूचकांक पर वस्तु 1 जिसे लौटाया जाता है, उसकी जरूरत है।
  5. एक बनाएँ SixelWriter instance, और उसके बाद का उपयोग करें .draw() टर्मिनल में छवि खींचने की विधि।

    from sixel import SixelWriter
    
    # Create sixel writer object
    w = SixelWriter()
    
    # Draw the sixel image in the terminal
    w.draw(mem_file)
    

उदाहरण अनुमान परिणाम

टर्मिनल में छवि देखें

ख़तरा

वीडियो या एनिमेटेड GIF फ़्रेम के साथ इस उदाहरण का उपयोग करना परीक्षण नहीं किया गया है। अपने जोखिम पर प्रयास करें।

पूर्ण कोड उदाहरण

import io

import cv2
from sixel import SixelWriter

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")

# Run inference on an image
results = model.predict(source="ultralytics/assets/bus.jpg")

# Plot inference results
plot = results[0].plot()  # (3)!

# Results image as bytes
im_bytes = cv2.imencode(
    ".png",  # (1)!
    plot,
)[1].tobytes()  # (2)!

mem_file = io.BytesIO(im_bytes)
w = SixelWriter()
w.draw(mem_file)
  1. अन्य छवि एक्सटेंशन का भी उपयोग करना संभव है।
  2. केवल सूचकांक पर वस्तु 1 जिसे लौटाया जाता है, उसकी जरूरत है।
  3. उपयोग करने के लिए संभावित तर्क देखने के लिए प्लॉट विधि पैरामीटर देखें।

नोक

आपको उपयोग करने की आवश्यकता हो सकती है clear टर्मिनल में छवि के दृश्य को "मिटाने" के लिए।

अक्सर पूछे जाने वाले प्रश्न

मैं कैसे देख सकता हूँ YOLO macOS या Linux पर VSCode टर्मिनल में अनुमान का परिणाम होता है?

देखने के लिए YOLO macOS या Linux पर VSCode टर्मिनल में अनुमान का परिणाम होता है, इन चरणों का पालन करें:

  1. आवश्यक VSCode सेटिंग्स सक्षम करें:

    "terminal.integrated.enableImages": true
    "terminal.integrated.gpuAcceleration": "auto"
    
  2. सिक्सल लाइब्रेरी स्थापित करें:

    pip install sixel
    
  3. अपना लोड करें YOLO मॉडल और रन अनुमान:

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    results = model.predict(source="path_to_image")
    plot = results[0].plot()
    
  4. अनुमान परिणाम छवि को बाइट्स में कनवर्ट करें और इसे टर्मिनल में प्रदर्शित करें:

    import io
    
    import cv2
    from sixel import SixelWriter
    
    im_bytes = cv2.imencode(".png", plot)[1].tobytes()
    mem_file = io.BytesIO(im_bytes)
    SixelWriter().draw(mem_file)
    

अधिक जानकारी के लिए, भविष्यवाणी मोड पृष्ठ पर जाएं।

सिक्सल प्रोटोकॉल केवल लिनक्स और मैकओएस पर ही क्यों काम करता है?

सिक्सल प्रोटोकॉल वर्तमान में केवल लिनक्स और मैकओएस पर समर्थित है क्योंकि इन प्लेटफार्मों में सिक्सल ग्राफिक्स के साथ संगत मूल टर्मिनल क्षमताएं हैं। सिक्सल का उपयोग करके टर्मिनल ग्राफिक्स के लिए विंडोज समर्थन अभी भी विकास के अधीन है। Windows संगतता पर अद्यतनों के लिए, VSCode समस्या की स्थिति और दस्तावेज़ीकरण की जाँच करें।

क्या होगा यदि मुझे VSCode टर्मिनल में छवियों को प्रदर्शित करने में समस्या आती है?

यदि आपको सिक्सल का उपयोग करके VSCode टर्मिनल में छवियों को प्रदर्शित करने में समस्याएँ आती हैं:

  1. सुनिश्चित करें कि VSCode में आवश्यक सेटिंग्स सक्षम हैं:

    "terminal.integrated.enableImages": true
    "terminal.integrated.gpuAcceleration": "auto"
    
  2. सिक्सल लाइब्रेरी स्थापना की जाँच करें:

    pip install sixel
    
  3. गड़बड़ियों के लिए अपने छवि डेटा रूपांतरण और प्लॉटिंग कोड की जांच करें। उदाहरण के लिए:

    import io
    
    import cv2
    from sixel import SixelWriter
    
    im_bytes = cv2.imencode(".png", plot)[1].tobytes()
    mem_file = io.BytesIO(im_bytes)
    SixelWriter().draw(mem_file)
    

यदि समस्याएं बनी रहती हैं, तो VSCode रिपॉजिटरी से परामर्श करें, और अतिरिक्त मार्गदर्शन के लिए प्लॉट विधि पैरामीटर अनुभाग पर जाएं।

सकना YOLO सिक्सल का उपयोग करके टर्मिनल में वीडियो अनुमान परिणाम प्रदर्शित करें?

टर्मिनल में सिक्सल का उपयोग करके वीडियो अनुमान परिणाम या एनिमेटेड GIF फ़्रेम प्रदर्शित करना वर्तमान में अप्रयुक्त है और हो सकता है कि समर्थित न हो। हम स्थिर छवियों से शुरू करने और संगतता की पुष्टि करने की सलाह देते हैं। प्रदर्शन बाधाओं को ध्यान में रखते हुए, अपने जोखिम पर वीडियो परिणामों का प्रयास करें। अनुमान परिणामों को प्लॉट करने के बारे में अधिक जानकारी के लिए, पूर्वानुमान मोड पृष्ठ पर जाएं।

मैं के साथ समस्याओं का निवारण कैसे कर सकता हूं python-sixel पुस्तकालय?

के साथ समस्याओं का निवारण करने के लिए python-sixel पुस्तकालय:

  1. सुनिश्चित करें कि लायब्रेरी आपके वर्चुअल वातावरण में सही ढंग से स्थापित है:

    pip install sixel
    
  2. सत्यापित करें कि आपके पास आवश्यक है Python और सिस्टम निर्भरता।

  3. का संदर्भ लें python-sixel GitHub अतिरिक्त प्रलेखन और सामुदायिक सहायता के लिए भंडार।

  4. संभावित त्रुटियों के लिए अपने कोड की दोबारा जांच करें, विशेष रूप से SixelWriter और छवि डेटा रूपांतरण चरण।

साथ काम करने में और सहायता के लिए YOLO मॉडल और सिक्सल एकीकरण, निर्यात और भविष्यवाणी मोड प्रलेखन पृष्ठ देखें।



बनाया गया 2024-03-09, अपडेट किया गया 2024-07-05
लेखक: ग्लेन-जोचर (6), आइवरझू 331 (1), बुरहान-क्यू (1)

टिप्पणियाँ