As a basic technique, use binarization and connected component analysis. This will give you “blobs” corresponding to the individual characters and you can get their bounding boxes.
You will face extra difficulties:
-
some characters can touch and form a single blob. You will need some detection logics to split them, for instance based on size and/or bad recognition score. In the nasty cases (several touching characters, characters of uneven width), you will have to try different splitting hypothesis and keep the best.
-
some characters are made of several blobs (such as accented letters), and some characters can appear fragmented. You can detect these situations when there are small blobs in a close vicinity. Here again, you will have to try grouping hypothesis (with a risk to group unrelated pieces) and keep the best.
-
the blobs will be reported to you in random order and you will need some extra logics to reorder them in the reading sequence.
7
solved How to get an image of each letter from image with text [closed]