コンテンツぞスキップ

掚論結果をタヌミナルで芋る

タヌミナルでの画像の䟋

画像はlibsixelりェブサむトより

モチベヌション

リモヌトマシンに接続する堎合、通垞、画像結果を芖芚化するこずは䞍可胜であるか、GUIを持぀ロヌカルデバむスにデヌタを移動する必芁がありたす。VSCode統合タヌミナルは、画像を盎接レンダリングするこずができたす。これは、VSCode統合タヌミナルを䜿甚した簡単なデモンストレヌションです。 ultralytics ず 予枬結果.

è­Šå‘Š

LinuxずMacOSのみ察応。をチェックしおください。 VSCodeリポゞトリチェック 問題ステヌタスあるいは ドキュメンテヌション を䜿甚しおタヌミナルで画像を衚瀺するためのWindowsサポヌトに関する最新情報に぀いおは、こちらをご芧ください。 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. モデルをロヌドしお掚論を実行し、結果をプロットしお倉数に栌玍したす。掚論の匕数ず結果の操䜜に぀いおは、predict modeのペヌゞを参照しおください。

    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo11n.pt")
    
    # Run inference on an image
    results = model.predict(source="ultralytics/assets/bus.jpg")
    
    # Plot inference results
    plot = results[0].plot()  # (1)!
    
    1. 䜿甚可胜な匕数に぀いおは、plotメ゜ッドのパラメヌタを参照しおください。
  4. では、次のように䜿う。 オヌプンCV を倉換する。 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 むンスタンスを䜜成し .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("yolo11n.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. 䜿甚可胜な匕数に぀いおは、plotメ゜ッドのパラメヌタを参照しおください。

チップ

を䜿甚する必芁があるかもしれない。 clear をクリックするず、端末内の画像の衚瀺を「消す」こずができる。

よくあるご質問

macOSやLinuxのVSCodeタヌミナルで、YOLO の掚論結果を芋るには

macOSたたはLinux䞊のVSCodeタヌミナルでYOLO 掚論結果を衚瀺するには、以䞋の手順に埓っおください

  1. 必芁なVSCode蚭定を有効にする

    "terminal.integrated.enableImages": true
    "terminal.integrated.gpuAcceleration": "auto"
    
  2. sixelラむブラリをむンストヌルする

    pip install sixel
    
  3. YOLO モデルをロヌドし、掚論を実行する

    from ultralytics import YOLO
    
    model = YOLO("yolo11n.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)
    

詳しくは予枬モヌドのペヌゞをご芧ください。

なぜsixelプロトコルはLinuxずmacOSでしか動䜜しないのですか

sixelプロトコルは珟圚、LinuxずmacOSでのみサポヌトされおいる。これらのプラットフォヌムは、sixelグラフィックスず互換性のあるネむティブ端末機胜を備えおいるからである。sixelを䜿甚したタヌミナルグラフィックスのWindowsサポヌトはただ開発䞭です。Windowsの互換性に関する最新情報に぀いおは、VSCode Issue Statusず ドキュメントを確認しおください。

VSCodeタヌミナルで画像を衚瀺する際に問題が発生した堎合は

sixelを䜿甚しおVSCode端末で画像を衚瀺する際に問題が発生した堎合

  1. VSCodeの必芁な蚭定が有効になっおいるこずを確認する

    "terminal.integrated.enableImages": true
    "terminal.integrated.gpuAcceleration": "auto"
    
  2. sixelラむブラリのむンストヌルを確認する

    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 sixelを䜿っおビデオ掚論の結果を端末に衚瀺するこずはできたすか

端末でsixelを䜿甚しおビデオ掚論結果やアニメヌションGIFフレヌムを衚瀺するこずは、珟圚のずころテストされおおらず、サポヌトされおいない可胜性がありたす。静止画像から始め、互換性を確認するこずをお勧めしたす。パフォヌマンスの制玄を念頭に眮き、自己責任でビデオ結果を詊しおください。掚論結果のプロットに関する詳现は、予枬モヌドのペヌゞをご芧ください。

のトラブルシュヌティングはどうすればよいですか python-sixel 図曞通

の問題をトラブルシュヌティングするには python-sixel 図曞通

  1. ラむブラリが仮想環境に正しくむンストヌルされおいるこずを確認しおください

    pip install sixel
    
  2. 必芁なPython 、システムの䟝存関係があるこずを確認する。

  3. その他のドキュメントやコミュニティ・サポヌトに぀いおは、python-sixelGitHub リポゞトリを参照のこず。

  4. コヌドに朜圚的な゚ラヌがないか再チェックしおください。 SixelWriter ず画像デヌタ倉換のステップ。

YOLO モデルずsixelの統合に関する曎なる支揎に぀いおは、゚クスポヌトず 予枬モヌドのドキュメントペヌゞを参照しおください。

📅䜜成9ヶ月前 ✏曎新したした 2ヶ月前

コメント