You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
3.0 KiB
74 lines
3.0 KiB
# OCR Diagram Tools
|
|
|
|
This suite of tools is to help create a simpler way to get braille diagrams made.
|
|
This works upon the *original* image and does not create a new diagram from scratch.
|
|
I believe this is optimal for most cases.
|
|
|
|
You can run each tool individually with `cargo run --bin <binary_name_here> [arg1] [arg2]`.
|
|
|
|
Go to `braille-diagram-tools` to use the binaries.
|
|
|
|
## btt-get-ocr
|
|
|
|
`btt-get-ocr [diagram.png] [out.json]`
|
|
|
|
This program take the image at `diagram.png` (this is the default value) and output OCR data in JSON format into `out.json` (default).
|
|
|
|
## btt-label-ocr
|
|
|
|
`btt-label-ocr [diagram.png] [out.json]`
|
|
|
|
This program takes the OCR data and lays it overtop the diagram.
|
|
How so?
|
|
It adds a rectangular box around each OCRed piece of text, along with a label (usually a number starting from 0) to the left of the box.
|
|
This allows you to see how acurate the OCR was and to change what is broken with this next tool:
|
|
|
|
## btt-edit-tools
|
|
|
|
`btt-edit-tools [out.json]`
|
|
|
|
The program edits the json (NOT in place) with advanced manipulation functions to help with OCR-related tasks.
|
|
The id to the left of the box is very useful right about now.
|
|
|
|
Here is a list of all the commands you can use while running `btt-edit-tools`:
|
|
|
|
```
|
|
merge|id1|id2 # merges two OCRed sections together, least of x and y to greatest of x+width and y+height.
|
|
vsplit|id # split OCRed section into top and bottom pieces.
|
|
hsplit|id # split OCRed section into left and right pieces.
|
|
add|x|y|w|h # add a new OCR section with x, y, width and height.
|
|
rem|id # remove an OCR section
|
|
triml|id|dw # change width by dw (delta width)
|
|
trimr|id|dw # change width by dw (delta width) and move x the same amount (plus)
|
|
trimt|id|dh # change height by dh (delta height) and move y the same amount (minus)
|
|
trimb|id|dh # change height by dh (delta height)
|
|
movel|id|dx # change x by dx (positive = left move)
|
|
mover|id|dx # change x by dx (positive = right move)
|
|
moveu|id|dy # change y by dy (positive = upward move)
|
|
moved|id|dy # change y by dy (positive = downward move)
|
|
paddl|id|dx # change x by dx and add to width same amount
|
|
paddr|id|dx # add dx to width
|
|
paddt|id|dy # negate dy from y
|
|
paddb|id|dy # add dy to height
|
|
text|id|some string # make the text of some string (used for braille printing later) associated with id
|
|
save|filename # save current json data to filename
|
|
```
|
|
|
|
**NOTE: currently, any command error will crash the program;
|
|
this will be fixed eventually.**
|
|
|
|
## btt-whiteout-labels
|
|
|
|
`btt-whiteout-labels [out.img] [out.json]`
|
|
|
|
This program takes an image and a json file and places a filled white box overtop all OCR sections.
|
|
This is useful before running the next tool.
|
|
|
|
## btt-add-braille
|
|
|
|
`btt-add-braille [out.img] [out.json] [font_size]`
|
|
|
|
This program takes an image and a json file and based upon the position (x,y) adds text of `font_size` (default `20.0`) where each OCR section is in the JSON.
|
|
This often does not work the first time due to the braille using more characters than standard print.
|
|
You'll generally need to go back to editing the json, running `whiteout` and running this tool a few times to get it just right.
|