# image_ocr v0.2.0 - Table of Contents

Idiomatic Elixir interface to the Tesseract OCR engine via a NIF, accepting Vix.Vips.Image structs, file paths, or in-memory image binaries.

## Pages

- [Image.OCR (image_ocr)](readme.md)
- [Changelog](changelog.md)
- [Demo Livebook](demo.md)

## Modules

- [Image.OCR](Image.OCR.md): Idiomatic Elixir interface to the [Tesseract](https://github.com/tesseract-ocr/tesseract)
OCR engine.
- [Image.OCR.Input](Image.OCR.Input.md): Normalises supported OCR inputs into a `Vix.Vips.Image.t()` and an associated
raw pixel buffer suitable for handing to the Tesseract NIF.
- [Image.OCR.Languages](Image.OCR.Languages.md): Translation between user-facing language identifiers and Tesseract's
trained-data filename codes.
- [Image.OCR.Pool](Image.OCR.Pool.md): A `NimblePool`-backed pool of `Image.OCR` instances for concurrent OCR.
- [Image.OCR.Tessdata](Image.OCR.Tessdata.md): Helpers for resolving and managing Tesseract trained-data (`tessdata`) files.

## Mix Tasks

- [mix image.ocr.tessdata.add](Mix.Tasks.Image.Ocr.Tessdata.Add.md): Downloads `<language>.traineddata` from the upstream `tessdata_*` GitHub
repository into the configured trained-data directory.
- [mix image.ocr.tessdata.list](Mix.Tasks.Image.Ocr.Tessdata.List.md): Lists every `<language>.traineddata` file in the resolved trained-data
directory along with provenance from the manifest.
- [mix image.ocr.tessdata.remove](Mix.Tasks.Image.Ocr.Tessdata.Remove.md): Deletes one or more `<language>.traineddata` files and their manifest
entries.
- [mix image.ocr.tessdata.update](Mix.Tasks.Image.Ocr.Tessdata.Update.md): Re-fetches every trained-data file recorded in the manifest, picking up the
latest commit on each language's recorded branch.

