Hello, This is my first time in a forum so i hope this thread is located correctly. I have been working on a DI multitouch interface for a while now but for learning purposes I made some C# .NET classes to capture the image from a usb webcam, process the image, track blobs and dispatch a Touch, TouchMove and UnTouch events. The software part is working as expected, I can control the binarizing threshold, blur, frame rate, minimum and maximum blob area, blob aspect ratio, image invert(to detect shadows when working with external IR light). In the attached Images you can see each blob has an Id(red number), Area (top blue number), XY coordinates (Bottom blue numbers). For hardware I am running an hp dv8000 laptop, amd64 2,0 Ghz 1Gb ram, creative usb cam at 320x240, 6 IR leds and a 5mm frosted glass. The problem I have is that the part of the hand that is touching the glass is almost the same brightness as the parts that are near but not touching so the palm of the hand and/or the knucles are being interpreted as a touch. I tried implementing an algorithm to detect the fingertip based on the shape of the hand but that implies more processing power which I dont want to sacrifice. With this system the cpu goes up to a 27-34% running at 320x240 10 fps. I havent tried touchlib so I would like to ask you guys if this is decent preformance or if I should switch to touchlib to get better performance.
So basically the questions are:
1. How to increase the contrast of the objects touching the glass vs objects not touching the glass.
2. How does my cpu load compare to similar machines running touchlib.