There’s now a little icon on the bottom of this page proclaiming that everything on this site that I hold copyright on is licensed Creative Commons Attribution-Share Alike 3.0. That is, everything that does not state its own license; some source code may be licensed GPLv2 or GPLv3.
March 28, 2008 at 9:56 pm - 0 commentsMonthly Archive for March, 2008

It took a lot of pain, but I got color based object tracking working for Wade Brainerd’s Colors! Activity, which he ported from Colors! for Nintendo DS by Jens Andersson. The tracking for what I have right now is calibrated to use the XO’s AC adapter. It’s a bright, uniform, unique color, and it’s something that every XO owner has. It’s pretty nifty watching the brush follow the camera around, but the real magic happens with you enable “Pressure Sensitivity” in the palette menu of Colors! The brush will actually change size and opacity based on how far you hold the charger from the camera. It works better than I could have ever expected, and this is just the start. The next step I’m planning is to let the user pick any real life object they want and use it as a brush, with the color of the object being the color of the brush on screen.

Do companies actually think about what they put on their product packaging? Inquiring minds want to know. Google only gave me a few fellow confused bloggers, so I resorted to the source, the Reddi-wip hotline. Apparently Reddi-wip is a more difficult product than one would expect, as it took about 15 minutes to get through the calling queue. The customer service representative seemed amused by my question and disappeared for a few minutes to find the answer. The response, which sounded a whole lot like she made it up on the spot, was that the cryptic message is a reminder to customers that they can purchase Reddi-wip on days that are not national holidays. Crisis averted…
OpenCV has issues using the camera on the XO, rising from the way it negotiates color palette settings with the OV7670 v4l2 driver. I haven’t delved deep enough into v4l2 yet to come up with a proper fix for either the driver or OpenCV. However, I have a temporary fix that (probably) works fine but is very ugly.
The easy and dirty solution is to install the opencv, opencv-devel, and opencv-python packages with yum, to download the libhighgui.so.1.0.0 that I compiled, and to copy it to /usr/lib/libhighgui.so.1.0.0. In short:
sudo yum install opencv opencv-devel opencv-python
sudo wget http://eclecti.cc/files/2008/03/libhighguiso100 -O /usr/lib/libhighgui.so.1.0.0
Continue for details on the problem and the actual temporary fix that I did

Ok, here is some working code for face detection using the XO’s webcam. It requires the opencv, opencv-python, and xawtv packages. Xawtv can be skipped if you change it to use gstreamer instead, but gstreamer takes around 3 seconds to initialize the camera, take a picture, and save it. Xawtv, on the other hand, takes about a half second. The face detection algorithm, from OpenCV itself takes anywhere from 0.1 seconds to 3 seconds depending on what parameters you choose. I chose ones that seem to work almost all of the time and take about 0.25 seconds.
I’m working on face detection and tracking using the webcam on the XO. Expect code and pictures soon.
March 20, 2008 at 12:10 am - 0 commentsReformatting and reinstalling Hardy on the T61 due to a bad libc6 upgrade. This is made that much more fun by my lack of a CD drive.
March 13, 2008 at 11:45 am - 0 comments
Sugar is fine and dandy, but its nice to have the option to run something a little less… sweet. Unfortunately, with a 433mhz Geode and 256mb of RAM, its kind of a stretch to run a real desktop environment like Gnome or KDE on an XO, and even XFCE is a bit heavy. Luckily, with low powered UMPCs coming out in abundance, there is a lot of development going on for these kinds of devices. Ubuntu Mobile and Embedded Edition shows a lot of promise, as you get the massive number of packages available for Ubuntu in a distro designed for low power and small screens. So, this is a guide on installing and running Ubuntu Mobile on an SD card on an OLPC XO. Ubuntu Mobile is still very much alpha software and is designed for touchscreens, but it’s generally usable and quite speedy.
