CMUcam4 Graphical User Interface

Version 87 (Kwabena Agyeman, 03/11/2013 10:27 pm)

1 6 Kwabena Agyeman
h1. CMUcam4 Graphical User Interface
2 1 Kwabena Agyeman
3 87 Kwabena Agyeman
h3. *What is the CMUcam4GUI*
4 87 Kwabena Agyeman
5 87 Kwabena Agyeman
The CMUcam4GUI is a useful tool that makes working with the CMUcam4 easier. The CMUcam4GUI allows you to take pictures with your CMUcam4 and view them on your computer and use the pictures to compute the color tracking bounds of colored objects in the picture you want the CMUcam4 to track. Using the CMUcam4GUI you can quickly determine the color tracking bounds for an object in one scene lighting and widen the color tracking bounds to support tracking the object in changing scene lighting. The CMUcam4GUI also allows you to see what the CMUcam4 is tracking in real time without a TV by displaying the contents of tracking, mean, histogram, and frame packets graphically. Additionally, the CMUcam4GUI allows you to plan with all the CMUcam4 options in real time like controlling the pan and tilt servo, color tracking options, and low-level camera options. Finally, the CMucam4GUI allows you to managed the secure digital card attached to the CMUcam4 remotely through the CMUcam4.   
6 87 Kwabena Agyeman
7 1 Kwabena Agyeman
h3. *Windows Setup*
8 7 Kwabena Agyeman
9 26 Kwabena Agyeman
Follow the steps below to setup the CMUcam4GUI for Windows:
10 10 Kwabena Agyeman
11 61 Kwabena Agyeman
p(. 1. Download the "CMUcam4GUI.zip":/attachments/download/796/CMUcam4GUI_windows_100.zip file
12 33 Kwabena Agyeman
    2. Unzip it and extract the contents
13 38 Kwabena Agyeman
    3. Run the CMUcam4GUI.exe file
14 26 Kwabena Agyeman
15 1 Kwabena Agyeman
h3. *Linux Setup*
16 25 Kwabena Agyeman
17 26 Kwabena Agyeman
Follow the steps below to setup the CMUcam4GUI for Linux:
18 10 Kwabena Agyeman
19 31 Kwabena Agyeman
p(. 1. Add your user name to the dialout group
20 26 Kwabena Agyeman
21 1 Kwabena Agyeman
<pre>
22 1 Kwabena Agyeman
sudo adduser username dialout
23 1 Kwabena Agyeman
</pre>
24 10 Kwabena Agyeman
25 31 Kwabena Agyeman
p(. 2. Now verify by typing
26 1 Kwabena Agyeman
27 1 Kwabena Agyeman
<pre>
28 1 Kwabena Agyeman
groups username
29 1 Kwabena Agyeman
</pre>
30 24 Kwabena Agyeman
31 29 Kwabena Agyeman
p(. 3. Now log out and then log back in
32 62 Kwabena Agyeman
    4. Download the "CMUcam4GUI.zip":/attachments/download/797/CMUcam4GUI_linux_100.zip file
33 57 Kwabena Agyeman
    5. Unzip it and extract the contents
34 62 Kwabena Agyeman
    6. Run the CMUcam4GUI.sh file
35 54 Kwabena Agyeman
36 24 Kwabena Agyeman
h3. *Macintosh Setup*
37 17 Kwabena Agyeman
38 60 Kwabena Agyeman
Follow the steps below to setup the CMUcam4GUI for Macintosh:
39 64 Kwabena Agyeman
40 1 Kwabena Agyeman
p(. 1. Install the QtSDK for Mac "here":http://www.developer.nokia.com/info/sw.nokia.com/id/da8df288-e615-443d-be5c-00c8a72435f8/Qt_SDK.html.
41 65 Kwabena Agyeman
    2. Download the "CMUcam4GUI Source":/attachments/785/CMUcam4GUI.zip
42 87 Kwabena Agyeman
    3. Open the CMUcam4GUI.pro file using QtCreator and switch to release mode from debug mode and then click run
43 51 Kwabena Agyeman
44 66 Kwabena Agyeman
_Question: Why don't you have a prebuilt MAC application?_
45 59 Kwabena Agyeman
46 59 Kwabena Agyeman
_Answer: Kwabena, the CMUcam4 developer, does not have a MAC..._ 
47 55 Kwabena Agyeman
48 1 Kwabena Agyeman
h3. *CMUcam4GUI Manual*
49 1 Kwabena Agyeman
50 84 Kwabena Agyeman
The CMUcam4GUI is very intuitive and implements all the same functionality in the "CMUcam4 Arduino Interface Library":/docs/cmucam4/arduino_api/. This manual only exists to give an overview of the CMUcam4GUI and you should read the "CMUcam4 Command List User Manual":/documents/11 if you need more information about CMUcam4 commands. If you encounter errors trying to connect to the CMUcam4, unplug your USB to serial device from your computer and plug it back in again. Also, make sure your serial converter can handle 19200 BPS, 115200 BPS, and 230400 BPS. If you are using a FTDI chip based converter then you should be fine.
51 76 Kwabena Agyeman
52 76 Kwabena Agyeman
*Menu Bar and Tool Bar commands*
53 76 Kwabena Agyeman
54 86 Kwabena Agyeman
Tool Bar Commands
55 82 Kwabena Agyeman
56 80 Kwabena Agyeman
* *Begin/Reset* - Connect to the CMUcam4
57 80 Kwabena Agyeman
* *End* - Disconnect from the CMUcam4
58 76 Kwabena Agyeman
59 80 Kwabena Agyeman
* *Sleep Lightly* - Put the CMUcam4 into a very low power state
60 80 Kwabena Agyeman
* *Sleep Deeply* - Put the CMUcam4 into a ultra low power state
61 76 Kwabena Agyeman
62 80 Kwabena Agyeman
* *Send Frame* - Take a color image and display it in the viewing window
63 80 Kwabena Agyeman
* *Send Bitmap* - Take a binary image and display it in the viewing window
64 80 Kwabena Agyeman
** This is an 80x60 binary image of whatever the CMUcam4 is tracking - the CMUcam4 must be tracking something for this to be useful
65 76 Kwabena Agyeman
66 80 Kwabena Agyeman
* *Dump Frame* - Take a color image and save it to the SD card
67 80 Kwabena Agyeman
* *Dump Bitmap* - Take a binary image and save it to the SD card
68 80 Kwabena Agyeman
** This is an 80x60 binary image of whatever the CMUcam4 is tracking - the CMUcam4 must be tracking something for this to be useful
69 82 Kwabena Agyeman
70 86 Kwabena Agyeman
Menu Bar Commands
71 1 Kwabena Agyeman
72 80 Kwabena Agyeman
* *Save Frame* - Save the color image in the viewing window to a file
73 80 Kwabena Agyeman
* *Save Bitmap* - Save the binary image in the viewing window to a file
74 80 Kwabena Agyeman
** This is an 80x60 binary image of whatever the CMUcam4 is tracking - the CMUcam4 must be tracking something for this to be useful
75 76 Kwabena Agyeman
76 80 Kwabena Agyeman
* *Clear Frame* - Erase the color image in the viewing window
77 80 Kwabena Agyeman
* *Clear Bitmap* - Erase the binary image in the viewing window
78 80 Kwabena Agyeman
** This is an 80x60 binary image of whatever the CMUcam4 is tracking - the CMUcam4 must be tracking something for this to be useful
79 75 Kwabena Agyeman
80 80 Kwabena Agyeman
* *Open* - Open a color image to use with the track selection feature
81 80 Kwabena Agyeman
* *Exit* - Exit the application
82 75 Kwabena Agyeman
83 67 Kwabena Agyeman
*Viewing Tab*
84 67 Kwabena Agyeman
85 72 Kwabena Agyeman
!/attachments/798/viewing_tab.png!
86 72 Kwabena Agyeman
87 80 Kwabena Agyeman
* *Send Frame Control* - Select the horizontal and vertical resolution for the send frame button in the tool bar
88 73 Kwabena Agyeman
** You cannot move whatever you are taking a picture of while the send frame command is running
89 75 Kwabena Agyeman
** If the image quality looks bad then turn off auto-gain and auto-white balance and make sure the CMUcam4 is looking at an illuminated object
90 72 Kwabena Agyeman
** Use a smaller resolution to capture the image quicker - like 160x120
91 1 Kwabena Agyeman
92 80 Kwabena Agyeman
* *Dump Frame Control* - Select the horizontal and vertical resolution for the dump frame button in the tool bar
93 1 Kwabena Agyeman
** You cannot move whatever you are taking a picture of while the dump frame command is running
94 75 Kwabena Agyeman
** If the image quality looks bad then turn off auto-gain and auto-white balance and make sure the CMUcam4 is looking at an illuminated object
95 73 Kwabena Agyeman
** Use a smaller resolution to capture the image quicker - like 160x120
96 73 Kwabena Agyeman
97 80 Kwabena Agyeman
* *Opacity Control* - Select the sent frame and sent bitmap opacity - between 1.00 for 100% and 0.00 for 0%
98 73 Kwabena Agyeman
99 80 Kwabena Agyeman
* *Tracking Control* - Select a color blob in the viewing window to track
100 73 Kwabena Agyeman
** The selection rectangle should only enclose the pixels within the color blob you want to track
101 73 Kwabena Agyeman
** After selecting the color blob click the track color button to compute the color bounds to track that color blob
102 73 Kwabena Agyeman
*** The algorithm works by computing the mean and standard deviation of the red, green, and blue color channels inside of the selection rectangle
103 74 Kwabena Agyeman
*** The Confidence Interval Level Coefficient selects how much of the standard deviation to add +/- to the means of the red, green, and blue color channels - between 0 for +/- (stdev * 1) to 99 for +/- (stdev * 10)
104 72 Kwabena Agyeman
105 69 Kwabena Agyeman
*Tracking Tab*
106 67 Kwabena Agyeman
107 67 Kwabena Agyeman
!/attachments/799/tracking_tab.png!
108 67 Kwabena Agyeman
109 70 Kwabena Agyeman
*Options Tab*
110 67 Kwabena Agyeman
111 67 Kwabena Agyeman
!/attachments/800/options_tab.png!
112 67 Kwabena Agyeman
113 71 Kwabena Agyeman
*Disk Tab*
114 67 Kwabena Agyeman
115 45 Kwabena Agyeman
!/attachments/801/disk_tab.png!
116 37 Kwabena Agyeman
117 39 Kwabena Agyeman
h3. *CMUcam4GUI Source*
118 43 Kwabena Agyeman
119 43 Kwabena Agyeman
Click "here":/attachments/785/CMUcam4GUI.zip to download the source code for the CMUcam4GUI.
120 43 Kwabena Agyeman
121 46 Kwabena Agyeman
You will need the Qt 1.2.1 SDK (Desktop 4.8.1) to compile the code which you can download "here":http://www.developer.nokia.com/info/sw.nokia.com/id/da8df288-e615-443d-be5c-00c8a72435f8/Qt_SDK.html.