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

  • Скорость передачи (бод)

    • Это позволяет изменять скорость передачи, если вы хотите использовать эту программу как терминальный клиент

  • Тайм-аут

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

      • Обычно это не нужно менять

  • Connect

    • Открывает последовательное соединение

  • Disconnect

    • Закрывает последовательное соединение

  • Send

    • Эта кнопка передаст любой текст, который вы ввели в текстовое поле, расположенное слева от кнопки

    • Текстовое поле автоматически добавляет символ возврата, поэтому простое нажатие «Send» должно дать вам ответ ACK от CMUcam2

    • По умолчанию фокус находится на текстовом поле ввода, поэтому вы можете просто набрать текст и нажать Enter для отправки данных

  • CIF / QCIF

    • Эти кнопки устанавливают разрешение отображаемого изображения

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

  • Grab Image

    • Это отправляет команду «SJ» (Send JPEG) на CMUcam3 и отображает результат

  • Loop

    • Этот флажок заставляет клиента автоматически нажимать «Grab Frame» каждые «Refresh Interval» миллисекунд

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

      • Если это происходит, увеличьте интервал обновления или уменьшите разрешение изображения

  • Интервал обновления

    • Этот параметр устанавливает, как часто отправляется команда «Grab Image», когда установлен флажок «Loop»

  • Stop

    • Это останавливает захват зациклённых изображений

Вкладка «Settings» позволяет настроить несколько распространённых функций CMUcam3. Каждая нажимаемая вами кнопка просто передаёт соответствующие команды CMUcam2 через последовательный порт.

Вот описание полей на вкладке «Setting» интерфейса:

  • Низкое разрешение / Высокое разрешение

    • Эти кнопки переключают между высоким разрешением CIF (352x288) или низким разрешением QCIF (176x144)

    • Это соответствует последовательным командам «HR 1» и «HR 0»

  • RGB / YCrCb

    • Это выбирает собственный пиксельный режим камеры — RGB или YCrCb

    • Это соответствует командам CMUcam2 «CR 18 44» или «CR 18 36»

  • Down Sample

    • Это устанавливает величину субдискретизации на уровне прошивки

    • Это соответствует «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» слишком мал, то камера будет запрашивать изображения быстрее, чем может их производить.