Tristan-cs488-tasks
Jump to navigation
Jump to search
Set of discrete tasks for Schrift (the name of the proposed handwriting recognizer). These notes and more are are kept on paper. Strikethrough tasks are done or no longer necessary, hopefully dated entries will make it clear which. This page might get a little messy.
I have a digital note page which I access and edit relatively frequently, it can be viewed here.
- 11-26-12: I tried an openCV example that makes and highlights bounding box and bounding polygon regions, it gave me this image. Suddenly I'm on the recognition step??
- 11-27-12: The vector that the contours are in are stored in an unusual order, if I sort them by the rectangles bottom left coordinate, a count of lines could be established and I could get the letters into their correct order. Once in order I can detect spaces easily by looking at changes between characters in the x direction. line and word segmentation are basically kaput, instead I have line and word detection.
- 12-2-12: Messed around with line organization yesterday, didn't make much progress. Read about neural networks a lot too, I will focus on the paper more tonight and the coming days for the next draft.
- 12-8-12: I'm finally segmenting lines. Now that the letters are in order, I am beginning work on the NN now, I found a small openCV ANN that takes the mean of two numbers, and have been playing around with that. I am uncertain the size of the neural network or how to structure the tests.
- 12-9-12: I have a working neural network. However it does not give correct output. A lot of tweaking will need to be done, e.g. more input neurons (right now just 2, # of rows and # of cols of the letter), more training samples (not as many as there should be right now, but adding more clearly sets it closer textual nirvana).
- File structuring
- just doing it, will restructure later.
- Image importing
- Read in jpg image
- Text Scan
- OpenCV image import, test threshold filter
- Detect holes so that a 'D' or an 'o' does not get recognized as two different characters.
- Algorithm for figuring out correct threshold value. Take a mean of the page color and adjust for that value. Usually 110±10?
- Draw box around where dark is detected, extract that selection.
- Line segmentation
- Decided it was not necessary to find beginning and end of line
- General Algorithm
- Scan from top line by line
- Stop when line of nothing
- create selection between line1 and line2
- push to dynamic array as line[0]
- Word segmentation
- Detect Spaces
- Character segmentation
- openCV historgram test
- Character recognition
- Better character recognition, tweak the NN a lot.
- Figure out a basic neural network
- look atOpenCV neural network type
- I've found some NN tutorials, the implementation of one is what's bothering me.