Mike Deffenbaugh

Sudoku Solver

If you missed the Sudoku Solver on my home page you should check it out first. I spent much more time working on this project than the other OpenCV ones and I think it is a more interesting video.

5-Card Hand Reader

Here is another OpenCV project that I've been working on. This one tries to find and read a 5 card hand by using relationships between the objects in the image. These relationships, the blue and yellow lines, are drawn on the screen to demonstrate how the computer is interpreting the scene. The yellow lines signify a possible rank and suit relationship. The blue lines signify the relationship between the 5 ranks. I still need to work on expanding the program to better identify 10s and face cards.

Kinect Depth Derivative Viewer

This code uses a Kinect to detect depth (D) and OpenCV to calculate the derivatives of the depth. This program is nowhere near completion and additional processing will be added in the next versions. This video is just a simple demonstration of how a robot could use depth data to make sense of the room by differentiating between floors, walls, and ceilings.

(Note: the = sign means approximately equal, != means not approximately equal)

when dD/dx = 0:
dD/dy < 0 --- Green = Floor (maybe...)
dD/dy = 0 --- Red = Forward-Facing Wall
dD/dy > 0 --- Blue = Ceiling

when dD/dx != 0
dD/dy = 0 --- Orange = Angled Wall
dD/dy != 0 --- Black = Noisy Area

Kinect Point Cloud

The Microsoft Kinect can work as a cheap RGB + Depth camera which allows for a live Point Cloud. This is a quick demonstration of how the Kinect stays in one spot but the the view of the Point Cloud can be rotated. The RGB values don't quite line up with the Depth values because the two cameras are slightly offset.

Optical Flow

This video can also be found on my DoS Test Track Research page. This is an application that I wrote using wxpython and OpenCV to take in slow-motion video and calculate the optical flow of 1000 different "features" of the image. This video is showing a very small-scale pendulum crash test.