Configuration28 Mar
Just a quick ( are these ever quick, i am such a rambler) post about configuration of the surface. This is the super rough config screen for my system so far. Not much to it really. The six values on the upper left are the values that govern how the tracker picks up blobs. The ROI stuff defines the white rectangle that is where I am looking for blobs.
Max and Min Diff are the threshold values for 'goodness' in a pixel. (ie where it is darkest, a pixel only needs to be 7 more than the background to be a blob, but at the lightest areas a pixel needs to be 67 more than the background values.)
Pixel Min and Max are filters for finished blobs, if it has less than 7 pixels, then it is ignored as noise. If it is too big it is also ignored. The depth limit is just a stopgap on the recursive function. if you set a sheet of paper or something on the surface, the recursive algo would go too deep and the app would hang. this keeps the recursion stack to a decent level. and really you shouldn't have to go too deep. The depth limit and pixel max is really there to keep you from crashing horribly if you set your thresholds too low and everything becomes a blob. These will probably go away at some point when I can add some more smarts to the blob filter, but for now they work well as safety valves.
The blob distance threshold is how much distance can be between two blobs and they will still be merged into one. this works well for making a small cluster of blobs into a bigger blob. Sometimes the smaller finger blobs will break up into a cluster of blobs because of noise and bad illumination. This basically makes those small clusters into a single blob.
The stuff in the lower section is how you set up the display area. It lets you visually map the blob ROI rectangle onto the display.
(Above: the resultant display image)
I added the rotation because my super-duper projector mounting job with scrap plywood didnt really go in so square. So, I made the projection slightly bigger than the surface, then use the configure rectangle to line it all up so even tho my display is technically crooked, it renders square with the surface.
Now that I have this done, I need to make a basic app. I am thinking the standard image browser app where you can rotate and move and resize the images with simple gestures. If I can get the code for what I have so far cleaned up enough i will post it this weekend. However i just got the call that we are in night shoots all next week, so there will be little time to work on it until next weekend if i dont get it done in the next few days.














My full name is Ben Britten Smith.