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.

Để khởi động ứng dụng:

  • Nhấp đúp vào CMUcam3 Frame Grabber

  • Chọn đúng cổng COM từ menu thả xuống "Available COM Ports"

  • Nhấp nút "Connect"

  • Bật nguồn cho CMUcam3 của bạn đang chạy Firmware Giả Lập CMUcam2 (khởi động lại nếu nó đã bật)

  • Bạn sẽ thấy văn bản xuất hiện trong cửa sổ "Terminal Console"

  • Nhấn "Grab Image" để chụp một bức ảnh

Đây là mô tả các trường trên tab "Main" của giao diện:

  • Các Cổng COM Khả Dụng

    • Điều này hiển thị một danh sách các cổng serial mà Windows nhận diện

  • Tốc Độ Baud

    • Điều này cho phép bạn thay đổi tốc độ baud nếu bạn muốn sử dụng chương trình này làm một terminal client

  • Thời Gian Chờ

    • Điều này đặt thời gian chờ cho bất kỳ phản hồi serial nào mà chương trình có thể đang chờ

      • Điều này thường không cần được thay đổi

  • Kết Nối

    • Mở một kết nối serial

  • Ngắt Kết Nối

    • Đóng kết nối serial

  • Gửi

    • Nút này sẽ truyền bất kỳ văn bản nào bạn đã gõ trong ô văn bản nằm bên trái của nút

    • Ô văn bản tự động thêm một ký tự return, vì vậy chỉ cần nhấp "Send" sẽ giúp bạn nhận được một phản hồi ACK từ CMUcam2

    • Theo mặc định con trỏ tập trung vào ô nhập văn bản, vì vậy bạn chỉ cần gõ và nhấn return để gửi dữ liệu

  • CIF / QCIF

    • Các nút này đặt độ phân giải của ảnh đang được hiển thị

    • Theo mặc định CMUcam3 sẽ gửi một ảnh độ phân giải thấp được co giãn để lấp đầy toàn bộ cửa sổ

  • Chụp Ảnh

    • Điều này gửi lệnh "SJ" (Send JPEG) tới CMUcam3 và hiển thị kết quả

  • Lặp

    • Ô chọn này khiến client tự động nhấn "Grab Frame" mỗi "Refresh Interval" mili giây

    • Nếu CMUcam3 không thể tạo ra một ảnh trong thời gian được chỉ định, chương trình sẽ hết thời gian chờ với một lỗi

      • Nếu điều này xảy ra, hãy tăng Refresh Interval, hoặc giảm độ phân giải ảnh

  • Khoảng Thời Gian Làm Mới

    • Tham số này đặt tần suất gửi lệnh "Grab Image" khi "Loop" được chọn

  • Dừng

    • Điều này dừng việc chụp các ảnh được lặp

Tab "Settings" cho phép bạn đặt một vài tính năng CMUcam3 phổ biến. Mỗi nút bạn nhấn chỉ đơn giản là truyền các lệnh CMUcam2 tương ứng qua cổng serial.

Đây là mô tả các trường trên tab "Setting" của giao diện:

  • Độ Phân Giải Thấp / Độ Phân Giải Cao

    • Các nút này chuyển đổi giữa Độ Phân Giải Cao CIF (352x288) hoặc Độ Phân Giải Thấp QCIF (176x144)

    • Điều này tương ứng với các lệnh serial "HR 1" và "HR 0"

  • RGB / YCrCb

    • Điều này chọn chế độ pixel gốc của camera là hoặc RGB hoặc YCrCb

    • Điều này tương ứng với các lệnh CMUcam2 "CR 18 44" hoặc "CR 18 36"

  • Giảm Mẫu

    • Điều này đặt lượng giảm mẫu dựa trên firmware

    • Điều này tương ứng với "DS X Y" trong đó X và Y là các giá trị được đặt trong mỗi ô chọn

  • Cửa Sổ

    • Điều này đặt các tham số cửa sổ ảo cho camera

    • Điều này tương ứng với lệnh CMUcam2 "VW x0 y0 x1 y1"

  • Bộ Điều Khiển Servo

    • Điều này cho phép bạn đặt vị trí servo của 4 cổng servo CMUcam3

    • Điều này sẽ khiến bất kỳ servo nào được kết nối với CMUcam3 di chuyển

    • Điều này tương ứng với lệnh 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.

Khắc Phục Sự Cố#

Tại sao camera bị đứng khi tôi thay đổi thuộc tính trong khi chụp ảnh trong một vòng lặp?

  • Thật không may, CMUcam3 Frame Grabber không đủ thông minh để thực sự theo dõi những gì bạn đang làm. Vì vậy nếu bạn đang lặp các ảnh và bạn thay đổi độ phân giải sang một thứ gì đó lớn hơn, thì nó có thể gửi lệnh "Grab Frame" tiếp theo trước khi ảnh độ phân giải cao được truyền xong. Sau khi điều này xảy ra vài lần, Frame Grabber mất đồng bộ với camera và serial hết thời gian chờ. Thông thường nếu bạn nhấn "Stop" trước khi thay đổi các tham số, và chắc chắn rằng bạn đặt "Refresh Interval" thành một giá trị lớn hơn cho các ảnh độ phân giải cao, thì bạn sẽ không gặp lỗi truyền thông hoặc hết thời gian chờ.

Tại sao tôi không thể lặp với các ảnh độ phân giải cao?

  • Đây là cùng vấn đề như được mô tả bởi câu hỏi trước. Nếu "Refresh Interval" quá nhỏ, thì camera sẽ yêu cầu các ảnh nhanh hơn nó có thể tạo ra chúng.