─░├žeri─če ge├ž

├ç─▒kar─▒m Sonu├žlar─▒n─▒ Terminalde G├Âr├╝nt├╝leme

Terminal'de g├Âr├╝nt├╝ i├žin alt─▒ ├Ârnek

Resim libsixel web sitesinden al─▒nm─▒┼čt─▒r.

Motivasyon

Uzak bir makineye ba─član─▒rken, normalde g├Âr├╝nt├╝ sonu├žlar─▒n─▒ g├Ârselle┼čtirmek m├╝mk├╝n de─čildir veya verilerin bir GUI ile yerel bir cihaza ta┼č─▒nmas─▒n─▒ gerektirir. VSCode entegre terminali, g├Âr├╝nt├╝lerin do─črudan olu┼čturulmas─▒na olanak tan─▒r. Bu, bunun a┼ča─č─▒dakilerle birlikte nas─▒l kullan─▒laca─č─▒na dair k─▒sa bir g├Âsterimdir ultralytics ile tahmi╠çn sonu├žlari.

Uyar─▒

Only compatible with Linux and MacOS. Check the VSCode repository, kontrol et Sorun durumuveya dok├╝mantasyon ile terminaldeki g├Âr├╝nt├╝leri g├Âr├╝nt├╝lemek i├žin Windows deste─či hakk─▒ndaki g├╝ncellemeler i├žin sixel.

Entegre terminali kullanarak g├Âr├╝nt├╝leri g├Âr├╝nt├╝lemek i├žin VSCode uyumlu protokoller ┼čunlard─▒r sixel ve iTerm. Bu k─▒lavuz, a┼ča─č─▒dakilerin kullan─▒m─▒n─▒ g├Âsterecektir sixel Protokol.

S├╝re├ž

  1. ─░lk olarak, ayarlar─▒ etkinle┼čtirmelisiniz terminal.integrated.enableImages ve terminal.integrated.gpuAcceleration VSCode'da.

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

    VSCode etkinle┼čtirme terminal g├Âr├╝nt├╝leri ayar─▒

  2. Y├╝kleme python-sixel sanal ortam─▒n─▒zdaki k├╝t├╝phane. Bu bir ├žatal .. PySixel art─▒k bak─▒m─▒ yap─▒lmayan k├╝t├╝phane.

    pip install sixel
    
  3. Bir model y├╝kleyin ve ├ž─▒kar─▒m─▒ y├╝r├╝t├╝n, ard─▒ndan sonu├žlar─▒ ├žizin ve bir de─či┼čkende saklay─▒n. ├ç─▒kar─▒m arg├╝manlar─▒ ve sonu├žlarla ├žal─▒┼čma hakk─▒nda daha fazla bilgi i├žin tahmin modu sayfas─▒na bak─▒n.

    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. Kullan─▒labilecek olas─▒ ba─č─▒ms─▒z de─či┼čkenleri g├Ârmek i├žin plot y├Ântemi parametrelerine bak─▒n.
  4. ┼×imdi, OpenCV'yi kullanarak numpy.ndarray i├žin bytes veri. Sonra kullan─▒n io.BytesIO "dosya benzeri" bir nesne yapmak i├žin.

    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. Di─čer g├Âr├╝nt├╝ uzant─▒lar─▒n─▒ da kullanmak m├╝mk├╝nd├╝r.
    2. Yaln─▒zca dizindeki nesne 1 iade edilene ihtiya├ž vard─▒r.
  5. Olu┼čturmak SixelWriter ├Ârne─čini kullan─▒n ve ard─▒ndan .draw() y├Ântemini kullanarak terminaldeki g├Âr├╝nt├╝y├╝ ├žizin.

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

├ľrnek ├ç─▒kar─▒m Sonu├žlar─▒

Terminalde G├Âr├╝nt├╝y├╝ G├Âr├╝nt├╝le

Tehlike

Bu ├Ârne─čin videolar veya animasyonlu GIF kareleri ile kullan─▒m─▒ test edilmemi┼čtir. Deneme riski size aittir.

Tam Kod ├ľrne─či

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. Di─čer g├Âr├╝nt├╝ uzant─▒lar─▒n─▒ da kullanmak m├╝mk├╝nd├╝r.
  2. Yaln─▒zca dizindeki nesne 1 iade edilene ihtiya├ž vard─▒r.
  3. Kullan─▒labilecek olas─▒ ba─č─▒ms─▒z de─či┼čkenleri g├Ârmek i├žin plot y├Ântemi parametrelerine bak─▒n.

─░pucu

Kullanman─▒z gerekebilir clear terminaldeki g├Âr├╝nt├╝y├╝ "silmek" i├žin.



Created 2024-03-09, Updated 2024-06-18
Authors: glenn-jocher (5), IvorZhu331 (1), Burhan-Q (1)

Yorumlar