1. A non-transitory computer-readable storage medium having stored thereon computer-executable instructions that, if executed by a computing device, cause the computing device to perform operations comprising: acquiring a plurality of connected components (CCs) in a binary image; determining a property limit by acquiring at least one of a most frequently occurring CC base height and a most frequently occurring CC base width in the binary image; generating a filtering rule according to the property limit; determining that a first plurality of CCs are text characters according to the filtering rule, and adjacency to a CC that has previously been determined to be text characters; assigning a first text label to the first plurality of CCs; determining that a second plurality of CCs are not text characters according to the filtering rule, or because individual CCs are not adjacent to an individual CC that has previously been determined to be a text character; assigning a second text label to the second plurality of CCs; merging neighboring CCs into a plurality of text regions; and determining that the CCs in any text region are not text characters if there are fewer than a predetermined number of CCs within the text region.