D
D
Dmitry Nozhnin2015-01-27 18:52:54
Programming
Dmitry Nozhnin, 2015-01-27 18:52:54

Optimal set of algorithms in a Computer Vision problem?

Please tell me a set of CV algorithms for solving the following problem. Interested in the minimum required set for optimal recognition accuracy.
Objective: Recognize the codes that the players take pictures of. The codes were originally printed on paper, in black and white. The code is a sequence of 8~16 digits in one line. The player is interested in the result and receives a basic instruction, that is, you can expect the code to be approximately in the middle of the picture, the image will be in focus. There is no hope for camera tilt angles - they take pictures both upside down and holding the phone at an angle. There is no hope for external lighting at all - it is expected from sunlight to half-darkness of the club and shooting with a weak flash.
What are you interested in:
- the necessary algorithms for image preprocessing, taking into account the unpredictability of lighting and tilt angles.
- optimal, given the task, algorithms for extracting a line with code, parsing and normalizing the size of blocks of individual digits.
The next steps related to machine learning are clear to me. Need help with all CV related part. I understand that the problem can be solved in a cloud of different ways, you need an expert opinion which way is better to go right away. Thank you!

Answer the question

In order to leave comments, you need to log in

2 answer(s)
T
tsarevfs, 2015-01-27
@tsarevfs

Or maybe it will be easier to print a qr code? There will be better reliability. And you can find ready-made libraries.

K
KOLANICH, 2015-01-27
@KOLANICH

1>Necessary algorithms for image preprocessing, taking into account the unpredictability of lighting and tilt angles.
Equalization of the brightness histogram + threshold transformation + morphology
2 >algorithms for extracting a line with a code, parsing and normalizing the size of blocks of individual digits.
You are looking for the minimum bounding quadrilateral, find the homography matrix by the corner points, transform using opengl (there is one in opencv).
Then you cut the line into characters, going through the columns and a completely white row is the end of the character, and a row with at least one black dot is the beginning. In principle, you can segment by filling.
Then you classify. The classifier will be the simplest: multiplying the point of the character by the point of the classifier (the image of the candidate character, scaled to the rectangle of the real character) and sum it. Mathematically, this is called the dot product or correlation. Who has more - that and the symbol.
something like this.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question