Archive for the ‘image processing’ Category

Been busy Blackstripezing…

Saturday, January 19th, 2013

So long time no writing, but here’s a small update with what we were busy with for the last couple of months. The most important project on our own behalve, was: Blackstripes.com our DIY lineplotter project (build hardware as well as the software for this baby), first press coverage was with popular Dutch Magazine (digital technology, design & style): Bright.nl. David Lemereis wrote a nice article about us. You can read all about that here (in dutch). Lately we were picked up by major tech site wired.com. This gave us quite some exposure in the Raspberry Pi scene. Nice…

Blackstripes.com on wired.com

Blackstripes.com on wired.com

As you are picked up by a major site, news goes around fast and soon more blogs/websites are following (Adafruit, T3N amongst others):

Adafruit a major component supplier

Adafruit a major component supplier

German site T3N picked up on it too

German site T3N picked up on the news too

So what is this project all about? Blackstripes is our Robot which draws your pictures and you are able to purchase your own picture/photo as a drawing in the webshop as well!
Read more about it here: blackstripes.com


.

openCV experiments

Monday, June 25th, 2012

Since we are currently not developing any new iOS game title we have some time to experiment with other things. Amongst others openCV on iPhone platform.

Because of the current ongoing EK soccer tournament we had our focus on football. More specifically tracking speed of a football. The concept is as follows:

Shoot a short video from somebody kicking a football (on a soccerfield), camera standing as perpendicular as possible to the assumed trajectory of the ball.

Then, based on the size of the ball in the videofootage as detected by openCV and the traveled ball distance from 2 frames in the video (recorded at a known time difference) in pixels. These pixel sizes recalculated to real life dimensions based on the known size of a typical football gives you the ballspeed. in kilometers/hour.

In theory this all sounds ok, but then we still have some practical issues to solve. First of all it turned out out that kicking the ball at fast speed (what real soccer players would do), skewed the ball enormously.

Skewed ball as caused by rolling shutter phenomenon

Skewed ball as caused by rolling shutter phenomenon

Here you can see some of the ball skewing

Here you can see some of the ball skewing. openCV "sees" the b/w filtered image

This is caused by rolling shutter artifacts see wikipedia. iPhone camera images are captured from top to bottom (landscape) line by line and not the whole frame at once. Because of this, a fast moving object will become skewed. openCV will not detect a circle when the circle is really skewed, so that’s the first problem.

Also when in low light situations, motion blurring, because of longer exposure times becomes an issue. The latest iPhone 4S support 1280×720 @60 fps which is the best bet when capping these frames. But even then motion blur can become an issue. Also ball detection is done based on the greenness of the grass. If your whitebalance is much to blue the conversion to black and white in opencv would fail. Of course you could adjust the tolerance for the detected hues but then you’re likely to run into many false positives for ball detections.

Much of these things/issues could have been fixed with some user input (let user select the correct ball, let user adjust filters for openCV based on some kind of wizard), but all in all it was a nice experiment but not good enough to make it into a proper dummy proof app. We basically didn’t want to make an app that expects all kinds of clever input from the user. We wanted the app to do some clever stuff and return you the speed of the ball without too much hassle.

opencv ball detection on the grass

opencv ball detection on the grass