عرض نتائج الاستدلال في محطة طرفية
الصورة من موقع libsixel الإلكتروني.
الحافز
عند الاتصال بجهاز بعيد ، عادة ما يكون تصور نتائج الصور غير ممكن أو يتطلب نقل البيانات إلى جهاز محلي باستخدام واجهة المستخدم الرسومية. يسمح الطرف الطرفي المدمج VSCode بعرض الصور مباشرة. هذا عرض توضيحي قصير حول كيفية استخدام هذا جنبا إلى جنب مع ultralytics
مع نتائج التنبؤ.
تحذير
متوافق فقط مع نظامي Linux و MacOS. تحقق من مستودع VSCodeفحص حالة المشكلةأو توثيق للحصول على تحديثات حول دعم Windows لعرض الصور في المحطة الطرفية باستخدام sixel
.
البروتوكولات المتوافقة مع VSCode لعرض الصور باستخدام المحطة المدمجة هي sixel
و iTerm
. سيوضح هذا الدليل استخدام sixel
بروتوكول.
عملية
أولا ، يجب عليك تمكين الإعدادات
terminal.integrated.enableImages
وterminal.integrated.gpuAcceleration
في VSCode.قم بتثبيت الزر
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() # (1)!
- راجع معلمات أسلوب الرسم لرؤية الوسيطات المحتملة لاستخدامها.
Now, use أوبن سي في to convert the
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
هناك حاجة إلى إرجاع.
إنشاء ملف
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() # (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
هناك حاجة إلى إرجاع. - راجع معلمات أسلوب الرسم لرؤية الوسيطات المحتملة لاستخدامها.
بقشيش
قد تحتاج إلى استخدام clear
"لمحو" عرض الصورة في الجهاز.
الأسئلة المتداولة
كيف يمكنني عرض نتائج الاستدلال YOLO في محطة VSCode الطرفية على نظامي macOS أو Linux؟
لعرض نتائج الاستدلال YOLO في محطة VSCode الطرفية على نظامي macOS أو Linux، اتبع الخطوات التالية:
قم بتمكين إعدادات VSCode الضرورية:
تثبيت مكتبة سكسيل:
تحميل نموذج YOLO وتشغيل الاستدلال:
قم بتحويل صورة نتيجة الاستدلال إلى بايت وعرضها في الطرفية:
لمزيد من التفاصيل، قم بزيارة صفحة وضع التنبؤ.
لماذا يعمل بروتوكول Sixel على نظامي Linux و macOS فقط؟
بروتوكول sixel مدعوم حاليًا على نظامي Linux و macOS فقط لأن هذه المنصات لديها إمكانيات طرفية أصلية متوافقة مع رسومات sixel. لا يزال دعم ويندوز للرسومات الطرفية باستخدام sixel قيد التطوير. للحصول على تحديثات حول التوافق مع ويندوز، راجع حالة إصدار VSCode والوثائق.
ماذا لو واجهت مشاكل في عرض الصور في محطة VSCode الطرفية؟
إذا واجهتك مشاكل في عرض الصور في محطة VSCode الطرفية باستخدام sixel:
تأكد من تمكين الإعدادات اللازمة في VSCode:
تحقق من تثبيت مكتبة Sixel:
تحقق من تحويل بيانات الصورة ورمز الرسم البياني بحثًا عن الأخطاء. على سبيل المثال:
إذا استمرت المشاكل، راجع مستودع VSCode، وراجع قسم معلمات أسلوب الرسم للحصول على إرشادات إضافية.
هل يمكن YOLO عرض نتائج استدلال الفيديو في المحطة الطرفية باستخدام Sixel؟
إن عرض نتائج استدلال الفيديو أو إطارات GIF المتحركة باستخدام Sixel في المنصة لم يتم اختباره حاليًا وقد لا يكون مدعومًا. نوصي بالبدء بصور ثابتة والتحقق من التوافق. حاول عرض نتائج الفيديو على مسؤوليتك الخاصة، مع مراعاة قيود الأداء. للمزيد من المعلومات حول رسم نتائج الاستدلال البياني، قم بزيارة صفحة وضع التنبؤ.
كيف يمكنني استكشاف المشكلات وإصلاحها في python-sixel
مكتبة؟
لاستكشاف مشكلات استكشاف الأخطاء وإصلاحها في python-sixel
المكتبة:
تأكد من تثبيت المكتبة بشكل صحيح في بيئتك الافتراضية:
تحقق من أن لديك Python وتبعيات النظام الضرورية.
ارجع إلى مستودع GitHubpython -sixel GitHub للحصول على وثائق إضافية ودعم المجتمع.
تحقق مرة أخرى من الشيفرة البرمجية الخاصة بك بحثًا عن الأخطاء المحتملة، وتحديدًا استخدام
SixelWriter
وخطوات تحويل بيانات الصورة.
لمزيد من المساعدة في العمل مع النماذج YOLO وتكامل Sixel، راجع صفحات وثائق وضع التصدير والتنبؤ.