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

  • Швидкість передавання (бод)

    • Це дозволяє змінити швидкість передачі (baud rate), якщо ви хочете використовувати цю програму як термінальний клієнт

  • Тайм-аут

    • Це встановлює час очікування для будь-яких послідовних відповідей, на які програма може очікувати

      • Зазвичай це не потрібно змінювати

  • З’єднати

    • Відкриває послідовне з’єднання

  • Роз’єднати

    • Закриває послідовне з’єднання

  • Надіслати

    • Ця кнопка передасть будь-який текст, який ви ввели у текстове поле, розташоване ліворуч від кнопки

    • Поле введення автоматично додає символ повернення, тож просте натискання «Send» повинно дати вам відповідь ACK від CMUcam2

    • За замовчуванням фокус перебуває на полі введення тексту, тож ви можете просто набрати текст і натиснути Enter, щоб надіслати дані

  • CIF / QCIF

    • Ці кнопки встановлюють роздільну здатність зображення, що відображається

    • За замовчуванням CMUcam3 надсилатиме зображення низької роздільної здатності, масштабоване для заповнення повного вікна

  • Захопити зображення

    • Це надсилає команду «SJ» (Send JPEG) до CMUcam3 та відображає результат

  • Цикл

    • Цей прапорець змушує клієнт автоматично натискати «Grab Frame» кожні «Refresh Interval» мілісекунд

    • Якщо CMUcam3 не може створити зображення за вказаний час, програма завершиться за тайм-аутом з помилкою

      • Якщо це стається, збільшіть інтервал оновлення або зменшіть роздільну здатність зображення

  • Інтервал оновлення

    • Цей параметр визначає, як часто надсилається команда «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»

  • Зменшення дискретизації

    • Це встановлює величину зменшення дискретизації (down sampling) на рівні прошивки

    • Це відповідає «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» замалий, то камера запитуватиме зображення швидше, ніж вона може їх виробляти.