I have a fairly blurry 432x432 image of a Sudoku puzzle that doesn\'t adaptively threshold well (take the mean over a block size of 5x5 pixels, then subtract 2):
Always apply gaussian for better results.
cvAdaptiveThreshold(original_image, thresh_image, 255, CV_ADAPTIVE_THRESH_GAUSSIAN_C, CV_THRESH_BINARY, 11, 2);