The current implementation of the edge detection isn't correct. It's only checking for a vertical edge. Originally it was ment to use "roberts cross" filter. Now it's a vertical difference filter. Probably today I'll fix this and sent you the diff. Maybe I also can make it faster using 32bit memory access.
Issue #35 resolved