Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

OpenCV

اكتشف قوة OpenCV وهي مكتبة مفتوحة المصدر للرؤية الحاسوبية في الوقت الحقيقي ومعالجة الصور والابتكارات القائمة على الذكاء الاصطناعي.

OpenCV مكتبة الرؤية الحاسوبية مفتوحة المصدر) هي مكتبة برمجيات مفتوحة المصدر واسعة الاستخدام مصممة خصيصًا للرؤية الحاسوبية في الوقت الفعلي (CV) ومعالجة الصور . تم تطويرها في الأصل بواسطة Intel 1999، وتطورت لتصبح أداة قياسية للباحثين والمطورين، حيث توفر أكثر من 2500 خوارزمية محسنة. تتيح هذه الخوارزميات لأجهزة الكمبيوتر إدراك وفهم البيانات المرئية من العالم، وأداء مهام تتراوح من معالجة الصور الأساسية إلى الاستدلال المعقد للتعلم الآلي (ML). تمت كتابة OpenCV بلغة C++ لتحقيق أداء عالٍ، OpenCV روابط قوية للغات مثل Python وJava وMATLAB، مما يجعلها متاحة لإنشاء نماذج أولية سريعة ونشرها على نطاق واسع.

القدرات والميزات الأساسية

OpenCV بمثابة طبقة أساسية في نظام الذكاء الاصطناعي، حيث تتولى في كثير من الأحيان خطوات المعالجة المسبقة للبيانات المطلوبة قبل دخول البيانات المرئية إلى نماذج التعلم العميق. وتغطي وظائفها عدة مجالات مهمة:

  • معالجة الصور: تتميز المكتبة بمعالجة البكسلات على مستوى منخفض. ويشمل ذلك العتبة، والتصفية، وتغيير الحجم، وتحويل مساحة الألوان (على سبيل المثال، تحويل RGB إلى تدرج الرمادي). هذه العمليات ضرورية لتطبيع البيانات لضمان اتساق مدخلات النموذج.
  • اكتشاف الميزات: OpenCV أدوات لتحديد النقاط الرئيسية في الصورة، مثل الزوايا والحواف والبقع. تسمح خوارزميات مثل SIFT (تحويل الميزات الثابتة النطاق) و ORB للأنظمة بمطابقة الميزات عبر الصور المختلفة، وهو أمر حيوي لربط الصور وإنشاء الصور البانورامية.
  • تحليل الفيديو: بالإضافة إلى الصور الثابتة، تتعامل المكتبة مع تدفقات الفيديو لمهام مثل طرح الخلفية والتدفق البصري، الذي يتتبع حركة الكائنات بين الإطارات المتتالية.
  • التحويلات الهندسية: تتيح للمطورين إجراء تحويلات أفينية وتشوه منظوري ومعايرة الكاميرا لتصحيح تشوه العدسة، وهو أمر بالغ الأهمية للمركبات ذاتية القيادة والروبوتات.

تطبيقات واقعية

OpenCV في جميع القطاعات، وغالبًا ما يعمل جنبًا إلى جنب مع أطر التعلم العميق.

  • التصوير الطبي: في مجال الرعاية الصحية، OpenCV في تحليل الصور الطبية من خلال تحسين الأشعة السينية أو فحوصات التصوير بالرنين المغناطيسي. يمكنه detect أو segment تلقائيًا، مما يساعد الأطباء في التشخيص. على سبيل المثال، تساعد خوارزميات اكتشاف الحواف في تحديد حدود كسر العظام في الأشعة السينية.
  • الفحص الآلي في التصنيع: تستخدم المصانع OpenCV مراقبة الجودة. تستخدم الكاميرات الموجودة على خطوط التجميع المكتبة للتحقق من محاذاة الملصقات بشكل صحيح أو من وجود عيوب سطحية في المنتجات . من خلال مقارنة البث المباشر بصورة مرجعية، يمكن للنظام تحديد العناصر المعيبة على الفور.

OpenCV مقابل أطر التعلم العميق

من المهم التمييز OpenCV وأطر العمل الخاصة بالتعلم العميق مثل PyTorch أو TensorFlow.

  • OpenCV يركز على تقنيات الرؤية الحاسوبية التقليدية (التصفية، التحويلات الهندسية) وخوارزميات التعلم الآلي "الكلاسيكية" (مثل آلات الدعم المتجهية أو أقرب الجيران k). على الرغم من أنه يحتوي على وحدة شبكة عصبية عميقة (DNN) للاستدلال، إلا أنه لا يستخدم في المقام الأول لتدريب الشبكات العصبية الكبيرة .
  • تم تصميم أطر العمل الخاصة بالتعلم العميق لبناء وتدريب ونشر شبكات عصبية معقدة مثل الشبكات العصبية التلافيفية (CNNs).

في سير العمل الحديث، تكمل هذه الأدوات بعضها البعض. على سبيل المثال، قد يستخدم المطور OpenCV دفق الفيديو وتغيير حجم الإطارات، ثم يمرر تلك الإطارات إلى نموذج YOLO26 للكشف عن الكائنات، وأخيرًا يستخدم OpenCV لرسم مربعات حدودية على المخرجات.

التكامل مع Ultralytics YOLO

يستخدم OpenCV بشكل متكرر جنبًا إلى جنب مع ultralytics حزمة لإدارة تدفقات الفيديو وتصور النتائج. يتيح التكامل إجراء استنتاجات فعالة في الوقت الفعلي.

يوضح المثال التالي كيفية استخدام OpenCV ملف فيديو ومعالجة الإطارات وتطبيق نموذج YOLO26n للكشف.

import cv2
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Open the video file using OpenCV
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, frame = cap.read()
    if not success:
        break

    # Run YOLO26 inference on the frame
    results = model(frame)

    # Visualize the results on the frame
    annotated_frame = results[0].plot()

    # Display the annotated frame
    cv2.imshow("YOLO26 Inference", annotated_frame)

    # Break loop if 'q' is pressed
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

تطوير الرؤية الحاسوبية

OpenCV تطورها، حيث تدعم المعايير الجديدة وتسريع الأجهزة. تساهم مجتمعها الواسع في توفير نظام بيئي غني بالبرامج التعليمية والوثائق. بالنسبة للفرق التي تسعى إلى توسيع نطاق مشاريع الرؤية الحاسوبية من النماذج الأولية المحلية إلى الحلول المستندة إلى السحابة، Ultralytics أدوات شاملة لإدارة مجموعات البيانات وتدريب النماذج التي تتكامل بسلاسة مع خطوط الأنابيب للمعالجة المسبقة OpenCV. سواء كان ذلك لأنظمة أمان التعرف على الوجوه أو تقدير الوضع في تحليلات الرياضة، OpenCV أداة أساسية في مجموعة أدوات مطوري الذكاء الاصطناعي.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن