readme and stuff
This commit is contained in:
parent
8059e26822
commit
5670b821b8
1 changed files with 51 additions and 0 deletions
51
README.md
Normal file
51
README.md
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
# The ALGORITHM!!!
|
||||||
|
|
||||||
|
The general idea is to make a filter/mask of each of the corresponding fonts,
|
||||||
|
and attempt to match them to the given letter.
|
||||||
|
|
||||||
|
## Scoring system
|
||||||
|
|
||||||
|
The score each font will have will be based on the average color(`acolor`)
|
||||||
|
underneath each font mask(might be different `acolor` for each mask).
|
||||||
|
|
||||||
|
After obtaining the `acolor` for a mask, the score will be calculated
|
||||||
|
as the sum of the different pixel scores.
|
||||||
|
|
||||||
|
For a given pixel(`po` for the original image and `pm` for the mask, same position)
|
||||||
|
its score will be calculated as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
S_p = | po - acolor | x (0.5 - pm)
|
||||||
|
```
|
||||||
|
|
||||||
|
it is assumed that the font mask is of values between `0..1` and made as a
|
||||||
|
'white on black' text(so `1` is where the font is).
|
||||||
|
|
||||||
|
The given score calculation will take into consideration color
|
||||||
|
variations of where the letter should be, while also taking into
|
||||||
|
consideration the fact that the background should be of different
|
||||||
|
color.
|
||||||
|
|
||||||
|
## Potential improvements
|
||||||
|
|
||||||
|
Some potential improvements would be:
|
||||||
|
|
||||||
|
- Only consider pixels in the font and their outline.
|
||||||
|
This might be helpful, as it would mean we dont care
|
||||||
|
about pixels that are too far away, but assuming a good bounding boxes,
|
||||||
|
it probably wont give much better results(or at all).
|
||||||
|
Additionally, it poses some questions of which pixels should be considered,
|
||||||
|
as both the text and mask are anti-aliased(thus having "weak" pixels)
|
||||||
|
- Increase the area around the font.
|
||||||
|
This idea can make sure we are not looking too inwards,
|
||||||
|
although it shouldn't matter since we are looking to classify from
|
||||||
|
a predefined set and not search them randomly, thus the potentially
|
||||||
|
good information missed shouldn't matter that much
|
||||||
|
(i.e. all scores will be 0.1 lower but the correct font shall still be picked)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue