I'm playing around with methods to perform automatic thresholding of our input images. I am manually cropping targets with bounding boxes that give a pretty decent amount of background information as well.
My initial thought was to look at color histograms to compute the three most prevalent colors and then look at their distributions in order to isolate the letter. I am using some K-means code to reduce every input image to just three colors - the hope is that we see the letter as one color, the target as another, and the background as the third color.
Restricting k to 3 is be too strict of a bound for the problem - in some cases I am seeing that the background gets assigned the same color as the alphanumeric. In addition, the code I have doing this is using euclidean distance in RGB space, which isn't a very good way to group colors - I expect much better results using the LAB color space. Using LAB I will likely just group based upon A* and B* and disregard the L channel, since the color of the object is the same even though the lighting fluctuates.
I changed the Hu code to use euclidean distance since I am still having trouble with the mahalanobis distance code - it gives very undesirable results.