Mgr. Jan Kapoun is a professional C# developer and linguist/translator with a degree in IT.
Please find below some of the projects that Jan worked on over the past years.
SINCLAIRIVO.NET
A Sinclair ZX Spectrum emulator. This version is for C# and the .NET framework. Emulates the good old 8bit computer. There is no sound support.
TETRIS 3D
This is the famous Tetris game, now featured in 3D. I created this project in order to understand programming with the OpenGL graphics library.
PEXESO
A simple game popular in the Czech Republic. Find two identical cards! Designed for 2 players and made as an exercise in C# programming at the University of South Bohemia.
COMPUTER VISION – VISUAL RECOGNITION OF STATIC HAND GESTURES (C++ and the OpenCV library)
DOWNLOAD MY BACHELOR’S THESIS IN PDF
Introduction
This project was part of Jan’s Bachelor’s diploma thesis – a relatively simple project that used a web camera to detect user’s hand gestures and show a description of what kind of gesture the user made.
Requirements
Visual Studio 2008 must be installed on your system in order for the program to work correctly. Also, make sure the corresponding C++ Redistributable Package is installed on your computer. Moreover, the OpenCV library must be installed on your system. A camera must aso be attached to your system in a standard way and a camera driver must be installed.
Program operation
Start the program and let the software “learn” the background. While doing so, make sure you are outside the camera’s visual field. After that, you can just sit in front of the computer/camera and place you hand into the red rectangle. Try using various gestures as described in the orange window. The software starts recognizing the gestures and provides feedback. Hint: If the contours get chaotic, step away from the camera field and press SPACE to re-learn the background. Also be careful with lighting – if the lighting intensity changes, the program delivers very chaotic results. It’s best to launch the program in a closed room with artificial and stable lighting.
Design
I used the OpenCV library, as made by Intel’s researchers. Jan’s program is written in a procedural language – C++. As for the actual recognition, the 7 Hu moments are used, actually, Jan used only 3 of them, since this was enough to recognize the individual gestures. I was also considering using an artificial neural network, but that proved unnecessary since the required Hu moments can be found empirically.