터미널에서 추론 결과 보기
libsixel 웹사이트의 이미지입니다.
동기 부여
원격 머신에 연결하면 일반적으로 이미지 결과를 시각화할 수 없거나 GUI를 사용하여 로컬 장치로 데이터를 이동해야 합니다. VSCode 통합 터미널을 사용하면 이미지를 직접 렌더링할 수 있습니다. 다음은 이를 다음과 함께 사용하는 방법에 대한 짧은 데모입니다. ultralytics
와 함께 예측 결과.
경고
Linux 및 MacOS와만 호환됩니다. 아래에서 VSCode 리포지토리확인 이슈 상태또는 문서 를 사용하여 터미널에서 이미지를 보기 위한 Windows 지원에 대한 업데이트를 확인하십시오. sixel
.
통합 터미널을 사용하여 이미지를 보기 위한 VSCode 호환 프로토콜은 다음과 같습니다. sixel
그리고 iTerm
. 이 가이드에서는 sixel
프로토콜을 사용합니다.
프로세스
-
먼저 설정을 활성화해야 합니다.
terminal.integrated.enableImages
그리고terminal.integrated.gpuAcceleration
를 입력합니다."terminal.integrated.gpuAcceleration": "auto" # "auto" is default, can also use "on" "terminal.integrated.enableImages": true
-
설치
python-sixel
라이브러리를 사용하세요. 이것은 포크 의PySixel
라이브러리를 더 이상 유지 관리하지 않습니다. -
모델을 로드하고 추론을 실행한 다음 결과를 플로팅하고 변수에 저장합니다. 예측 모드 페이지에서 추론 인수 및 결과 작업에 대해 자세히 알아보세요.
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()
-
이제 OpenCV 를 변환하려면
numpy.ndarray
에bytes
데이터를 입력합니다. 그런 다음io.BytesIO
를 사용하여 "파일과 같은" 객체를 만듭니다.import io import cv2 # Results image as bytes im_bytes = cv2.imencode( ".png", plot, )[1].tobytes() # Image bytes as a file-like object mem_file = io.BytesIO(im_bytes)
-
만들기
SixelWriter
인스턴스를 사용한 다음.draw()
메서드를 사용하여 터미널에 이미지를 그립니다.
추론 결과 예시
위험
이 예시를 동영상 또는 애니메이션 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()
# Results image as bytes
im_bytes = cv2.imencode(
".png",
plot,
)[1].tobytes()
mem_file = io.BytesIO(im_bytes)
w = SixelWriter()
w.draw(mem_file)
팁
다음을 사용해야 할 수 있습니다. clear
을 눌러 터미널에서 이미지 보기를 "지우세요".
자주 묻는 질문
macOS 또는 Linux의 VSCode 터미널에서 YOLO 추론 결과를 보려면 어떻게 해야 하나요?
macOS 또는 Linux의 VSCode 터미널에서 YOLO 추론 결과를 보려면 다음 단계를 따르세요:
-
필요한 VSCode 설정을 활성화합니다:
-
식셀 라이브러리를 설치합니다:
-
YOLO 모델을 로드하고 추론을 실행합니다:
-
추론 결과 이미지를 바이트 단위로 변환하여 터미널에 표시합니다:
자세한 내용은 예측 모드 페이지를 참조하세요.
식셀 프로토콜이 Linux와 macOS에서만 작동하는 이유는 무엇인가요?
이러한 플랫폼에는 식셀 그래픽과 호환되는 기본 터미널 기능이 있기 때문에 식셀 프로토콜은 현재 Linux와 macOS에서만 지원됩니다. 식셀을 사용하는 터미널 그래픽에 대한 Windows 지원은 아직 개발 중입니다. Windows 호환성에 대한 업데이트는 VSCode 이슈 상태 및 설명서를 참조하세요.
VSCode 터미널에서 이미지를 표시하는 데 문제가 발생하면 어떻게 하나요?
6셀을 사용하는 VSCode 터미널에서 이미지를 표시하는 데 문제가 발생하는 경우:
-
VSCode에서 필요한 설정이 활성화되어 있는지 확인합니다:
-
식셀 라이브러리 설치를 확인합니다:
-
이미지 데이터 변환 및 플로팅 코드에 오류가 있는지 확인하세요. 예를 들어
문제가 지속되면 VSCode 리포지토리를 참조하고 플롯 메서드 매개변수 섹션에서 추가 지침을 확인하세요.
YOLO 에서 6셀을 사용하여 단말기에 비디오 추론 결과를 표시할 수 있나요?
단말기에서 6셀을 사용하여 동영상 추론 결과 또는 애니메이션 GIF 프레임을 표시하는 것은 현재 테스트되지 않았으며 지원되지 않을 수 있습니다. 정적 이미지로 시작하여 호환성을 확인하는 것이 좋습니다. 성능 제약을 염두에 두고 동영상 결과는 사용자 책임 하에 시도해 보세요. 추론 결과 플로팅에 대한 자세한 내용은 예측 모드 페이지를 참조하세요.
관련 문제를 해결하려면 어떻게 해야 하나요? python-sixel
라이브러리?
문제를 해결하려면 python-sixel
library:
-
라이브러리가 가상 환경에 올바르게 설치되었는지 확인합니다:
-
필요한 Python 및 시스템 종속성이 있는지 확인합니다.
-
추가 문서 및 커뮤니티 지원은 python-sixel GitHub 리포지토리를 참조하세요.
-
코드에 잠재적인 오류가 있는지 다시 한 번 확인하세요.
SixelWriter
및 이미지 데이터 변환 단계.
YOLO 모델 및 식셀 통합 작업에 대한 추가 지원은 내보내기 및 예측 모드 문서 페이지를 참조하세요.