CMUcam3 Frame Grabber#

The CMUcam3 Frame Grabber is a simple utility that can be used to test your CMUcam3. Its primary purpose is to act as a terminal program similar to HyperTerminal or Minicom. It also allows you to view jpeg images returned from the camera. You need run the CMUcam2 Emulation firmware on the camera to use this program. The Frame Grabber requires that you install .NET version 2.0 or later which can be found on our software page. Unfortunately, the CMUcam3 Frame Grabber only works in Windows. The source can be found in the tools directory (called cc3_image_viewer). For Linux or Mac, please try using the CMUcam2GUI.

لبدء التطبيق:

  • انقر نقراً مزدوجاً على CMUcam3 Frame Grabber

  • اختر منفذ COM الصحيح من قائمة "Available COM Ports" المنسدلة

  • انقر زر "Connect"

  • شغّل CMUcam3 الخاصة بك التي تعمل ببرنامج محاكاة CMUcam2 الثابت (أعد التشغيل إذا كانت قيد التشغيل بالفعل)

  • ينبغي أن ترى نصًا يظهر في نافذة "Terminal Console"

  • اضغط "Grab Image" لالتقاط صورة

فيما يلي وصف للحقول في تبويب "Main" في الواجهة:

  • منافذ COM المتاحة

    • يعرض هذا قائمة بالمنافذ التسلسلية التي يتعرف عليها Windows

  • معدل الباود

    • يتيح لك هذا تغيير معدل الباود إذا أردت استخدام هذا البرنامج كعميل طرفية

  • المهلة (Timeout)

    • يضبط هذا مهلة أي ردود تسلسلية قد ينتظرها البرنامج

      • عادةً لا يحتاج هذا إلى تغيير

  • الاتصال

    • يفتح اتصالاً تسلسلياً

  • قطع الاتصال

    • يغلق الاتصال التسلسلي

  • إرسال

    • سيرسل هذا الزر أي نص كتبته في مربع النص الموجود على يسار الزر

    • يضيف مربع النص محرف إرجاع تلقائيًا، لذا فمجرد النقر على "Send" ينبغي أن يمنحك استجابة ACK من CMUcam2

    • افتراضياً يكون التركيز على مربع نص الإدخال، لذا يمكنك ببساطة الكتابة والضغط على Return لإرسال البيانات

  • CIF / QCIF

    • تضبط هذه الأزرار دقة الصورة المعروضة

    • افتراضياً سترسل CMUcam3 صورة منخفضة الدقة تُقاس لملء النافذة بالكامل

  • التقاط صورة

    • يرسل هذا أمر "SJ" (Send JPEG) إلى CMUcam3 ويعرض النتيجة

  • تكرار (Loop)

    • يتسبب مربع الاختيار هذا في أن يضغط العميل تلقائيًا على "Grab Frame" كل "Refresh Interval" مللي ثانية

    • إذا لم تتمكن CMUcam3 من إنتاج صورة في الوقت المحدد، فسينتهي وقت البرنامج مع خطأ

      • إذا حدث هذا، فزد فترة التحديث (Refresh Interval)، أو قلّل دقة الصورة

  • فترة التحديث

    • يضبط هذا المعامل عدد مرات إرسال أمر "Grab Image" عند تحديد "Loop"

  • إيقاف

    • يوقف هذا التقاط الصور المتكررة

تتيح لك علامة التبويب "Settings" ضبط بعض ميزات CMUcam3 الشائعة. كل زر تضغط عليه ما هو إلا إرسال لأوامر CMUcam2 المقابلة عبر المنفذ التسلسلي.

فيما يلي وصف للحقول في تبويب "Setting" في الواجهة:

  • دقة منخفضة / دقة عالية

    • تبدّل هذه الأزرار بين الدقة العالية CIF (352x288) أو الدقة المنخفضة QCIF (176x144)

    • يقابل هذا الأمرين التسلسليين "HR 1" و"HR 0"

  • RGB / YCrCb

    • يختار هذا وضع البكسل الأصلي للكاميرا ليكون إما RGB أو YCrCb

    • يقابل هذا أمري CMUcam2 "CR 18 44" أو "CR 18 36"

  • تقليل العينات

    • يضبط هذا مقدار تقليل العينات المستند إلى البرنامج الثابت

    • يقابل هذا "DS X Y" حيث X وY هما القيمتان المضبوطتان في كل مربع تحديد

  • النافذة

    • يضبط هذا معاملات النافذة الافتراضية للكاميرا

    • يقابل هذا أمر CMUcam2 "VW x0 y0 x1 y1"

  • متحكم السيرفو

    • يتيح لك هذا ضبط موضع السيرفو لمنافذ السيرفو الأربعة في CMUcam3

    • سيؤدي هذا إلى تحريك أي سيرفوهات متصلة بـ CMUcam3

    • يقابل هذا أمر CMUcam2 "SV"

You can send any CMUcam2 command using the "Send" button and the text input box. For example, sending "GM" (Get Mean) returns the mean color of the image. To stop the streaming, simply click "Send" or press return. This program does not visualize most of the CMUcam2 commands. For visualization try using the CMUcam2GUI java program.

استكشاف الأخطاء وإصلاحها#

لماذا تتجمد الكاميرا عندما أغيّر الخصائص أثناء التقاط الصور في حلقة تكرار؟

  • للأسف، CMUcam3 Frame Grabber ليس ذكيًا بما يكفي لتتبع ما تفعله حقًا. لذا إذا كنت تكرر الصور وغيّرت الدقة إلى شيء أكبر، فقد يرسل أمر "Grab Frame" التالي قبل أن ينتهي نقل الصورة عالية الدقة. بعد حدوث هذا بضع مرات، يخرج Frame Grabber عن التزامن مع الكاميرا وينتهي مهلة التسلسل. عادةً إذا ضغطت على "Stop" قبل تغيير المعاملات، وتأكدت من ضبط "Refresh Interval" على قيمة أكبر للصور عالية الدقة، فلن تحصل على أخطاء اتصال أو انتهاء مهلة.

لماذا لا أستطيع التكرار مع الصور عالية الدقة؟

  • هذه هي المشكلة نفسها الموصوفة في السؤال السابق. إذا كان "Refresh Interval" صغيرًا جدًا، فستطلب الكاميرا الصور أسرع مما يمكنها إنتاجها.