9. Oktober 2012

Recognizing Textured Planar Objects with OpenCV

How can we recognize textured objects under the assumption of planarity in images? OpenCV provides extensive support for this task, and helps with local feature extraction, fast approximative matching, and robust model fitting. This article describes a minimalistic detector based solely on OpenCV for all vision subtasks, and also offers pictures, videos, and the source code.

More ...

27. September 2012

The Viterbi Algorithm and Breadth-First Search

Given a hidden Markov model, we can use the Viterbi algorithm in order to compute the most likely sequence of latent states that produced a certain sequence of observations. Neat: the algorithm is sort of breadth-first search for a maximum in a certain perfect N-ary search tree.

More ...

2. September 2012

Arch Linux: switched to systemd

Time was ripe for me to migrate my Arch Linux installation from SysV to systemd. The transition was simple enough and turned out to be smooth in my case. There were not any troubles to be resolved. Furthermore, systemd made a very good first impression.

More ...

26. August 2012

Rotating Backups with rsnapshot

Looking for a light-weight, space-efficient backup solution for your data on local machines and remote servers? Give rsnapshot a try: relying on existing toolchains, opting for convention over configuration, and simple customization for slightly trickier backup tasks.

More ...

15. Juni 2012

Olve Maudal and Deep C++

Wonder about the depths of C++? Wonder why the code you wrote yesterday no longer works in the morning? Olve Maudal stated on TNG Big Techday 5 in Munich that you ought to look under the hood when you want to understand more about C++. His key statements were: C++ is fast and powerful. Yet, a shark is always lurking in your back, so have an appropriate model in mind. I enjoyed the talk, for more about this, see Olve Maudal’s blog and the freely available slides on the topic.

More ...

27. Mai 2012

Mappotino: A Robot for Exploration, Mapping, and Object Recognition

How can we let a robot create a map of an unknown indoor environment using three cameras that simultaneously provide depth information and color images? We investigated this question in a four-week practical course at our university. This article sheds some light on the challenges involved.

More ...

11. Februar 2012

Template Tracking using Hyperplane Approximation

Tracking an object over a sequence of 2D images is a challenging task. One approach uses a linear mapping between observed intensity differences and target motion; this is presented in the paper Hyperplane Approximation for Template Matching by F, Jurie and M. Dhome. Here are some results from an implementation in Matlab by a fellow student and me.

More ...

12. Januar 2012

Fix for Wireless Presenters and Flash-based Full-screen Prezi

Your wireless presenter is not working for prezi.com in full-screen mode? Here is how you might be able to fix the issue on X-based Linux desktops by temporarily remapping the “Page Up” and “Page Down” buttons of your keyboard.

More ...

6. Dezember 2011

Reinventing the Wheel: Panorama Stitching with Matlab

A set of images that have some common overlapping regions can be stichted together to form a panorama picture. Some recent camera models can even compute the panorama picture internally and do not require post-processing on the computer. While this is a problem that has already been solved (for example, there is AutoStitch, here are some hints on classic DIY-panorama-stitching using Matlab, SIFT, DLT and RANSAC.

More ...

9. November 2011

Saving the Parrots with Homogeneous Coordinates

A well-known result from linear algebra is that one can use a matrix to represent any linear mapping between two vector spaces. While rotation is a linear mapping, translation unfortunately is not. But, wait… by adding another dimension to the vector space, and by interpreting the vector coordinates correctly, we are able to perform rotation and translation with a single matrix multiplication! This article describes how to restore a fragmented image with the help of homogeneous coordinates.

More ...

22. Oktober 2011

A Connection between Motion Blur and the Fourier Transform

Motion blur usually occurs in an image, when the camera was moved with respect to the subject. Motion blur has an interesting effect on the Fourier-transformed image, as pointed out by D. Burschka at University of Technology, Munich. Here is an example how the Fourier-transformed images of toy images look like that have been subject to motion blur.

More ...

21. Oktober 2011

Disabling hot-corner effect in Gnome 3

When using Gnome 3, one can access the dashboard by moving the cursor to the top-left corner of the screen. As it turns out, I always kept accidentally moving the cursor to this “hot corner”, thereby opening the dashboard involuntarily. Here is a small hack that disables this hot-corner effect. You are still able to show the dashboard by activating the “super” key.

More ...

8. Oktober 2011

Dual-booting Arch and Ubuntu with LVM on top of LUKS

Encrypting your hard drive is generally a good idea. Yet, the encryption renders dual-booting a little more difficult. Here I briefly sketch how I installed Ubuntu in parallel to an existing Arch installation on a LUKS-encrypted drive.

More ...

27. Mai 2011

Team Black Sheep presents amazing stunts with first-person-view RC plane

Being suprised by a low-flying unidentified objects? Maybe it was just a remote-controlled airplane by Team Black Sheep, who were giving a talk at TNG Big Techday in Munich on 2011-05-27.

More ...

13. Mai 2011

Sampling from a Poisson distribution - a benchmark

Having a poisson-distributed random variable X, how can we efficiently generate samples (or say realizations) of that random variable? This article shows how Knuth’s technique can be derived and it also indicates that the Ratio-of-Uniforms method is quite efficient.

More ...

9. März 2011

Understanding someone else's source code

25. Oktober 2010

Enhancing Details with Unsharp Masking

14. Oktober 2010

Nearest-Neighbor-Resampling in Matlab

This article shows the derivation of an algorithm for resizing images in Matlab, using nearest-neighbor interpolation. Scaling an image is mathematically just multiplying image coordinates by a scaling factor. Surprisingly, when dealing with digital images, the scaling process becomes a little bit more complex.

More ...

24. Juni 2010

Zweidimensionale Bereiche plotten mit Wolfram|Alpha

16. Juni 2010

Hosting bei Dreamhost, Domain woanders

Über wenige Webhosts lassen sich beliebige Top-Level-Domains registrieren. Beispielsweise ist es derzeit (Juni 2010) bei Dreamhost nicht möglich, de-Domains zu bestellen. Bei deutschen Anbietern wiederum ist dies möglich, im Niedrigpreissektor z.B. bei Evanzo. Bei Evanzo hat man Zugriff auf die DNS-Einträge der Domäne.

More ...

20. Mai 2010

Eine weitere Identität für Binomialkoeffizienten

Keine besonders umwerfende Erkenntnis, aber diese Identität hat mir letztens weitergeholfen:

cf3a46d2a960b02b6070bfd65b6cbaba6fd2c227

More ...

27. April 2010

Remote Procedure Calls über den DBus

Wozu dient der DBus? Und wie spricht man ihn an? Ein einfaches Beispiel in fünf verschiedenen Sprachen —- mit Java, OCaml, Python, C und der Shell!

More ...

15. April 2010

Syntaxhervorhebung mit Pygments

11. April 2010

2D-Grafik-Ausgabe mit Cairo und OCaml

Feldversuch. Wie funktioniert Cairo in Verbindung mit OCaml?

More ...

2. Oktober 2009

Programmierkonzepte für Multi-Core-Prozessoren

This article briefly introduces some existing programming concepts. It is a summary of a couple of interesting approaches that were presented at Ferienakademie 2009.

More ...