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