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 מזהה

  • קצב באוד

    • זה מאפשר לך לשנות את קצב הבאוד אם ברצונך להשתמש בתוכנית זו כלקוח מסוף

  • זמן קצוב

    • זה מגדיר את הזמן הקצוב עבור כל תגובה טורית שהתוכנית עשויה להמתין לה

      • בדרך כלל אין צורך לשנות זאת

  • התחברות

    • פותח חיבור טורי

  • ניתוק

    • סוגר את החיבור הטורי

  • שליחה

    • לחצן זה ישדר כל טקסט שהקלדת בתיבת הטקסט הממוקמת משמאל ללחצן

    • תיבת הטקסט מוסיפה אוטומטית תו return, כך שלחיצה על ”Send“ בלבד אמורה להשיג לכם תגובת ACK מה-CMUcam2

    • כברירת מחדל המיקוד נמצא על תיבת הטקסט של הקלט, כך שתוכל פשוט להקליד וללחוץ return כדי לשלוח נתונים

  • CIF / QCIF

    • כפתורים אלה מגדירים את רזולוציית התמונה המוצגת

    • כברירת מחדל ה-CMUcam3 תשלח תמונה ברזולוציה נמוכה המותאמת בקנה מידה למילוי החלון המלא

  • לכידת תמונה

    • זה שולח את הפקודה ”SJ“ (Send JPEG) ל-CMUcam3 ומציג את התוצאה

  • לולאה

    • תיבת סימון זו גורמת ללקוח ללחוץ אוטומטית ”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“

  • בקר סרוו

    • זה מאפשר לך להגדיר את מיקום הסרוו של 4 יציאות הסרוו של ה-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“ קטן מדי, אזי המצלמה תבקש תמונות מהר יותר משהיא יכולה לייצר אותן.