- 24 September 2024 - Version 1.7.2
- Fix several compatibilities
- 4 September 2023 - Version 1.7.1
- Fix several compatibilities
- 25 May 2023 - Version 1.7.0
- Add Apple Silicon support (thanks@rayeesoft and @ArtemBernatskyy, see PR)
- Fix several compatibilities
- 15 September 2022 - Version 1.6.2
- Add CPU support for DBnet
- DBNet will only be compiled when users initialize DBnet detector.
- 1 September 2022 - Version 1.6.1
- Fix DBNet path bug for Windows
- Add new built-in model
cyrillic_g2
. This model is a new default for Cyrillic script. (partial financial support by Alejandro Cabrerizo)
- 24 August 2022 - Version 1.6.0
- Restructure code to support alternative text detectors.
- Add detector
DBNet
, see paper. It can be used by initializing like thisreader = easyocr.Reader(['en'], detect_network = 'dbnet18')
. Currently, DBNet text detector requires running with GPU.
- 2 June 2022 - Version 1.5.0
- Add trainer for CRAFT detection model (thanks@gmuffiness, see PR)
- 9 April 2022 - Version 1.4.2
- Update dependencies (opencv and pillow issues)
- 11 September 2021 - Version 1.4.1
- Add trainer folder
- Add
readtextlang
method (thanks@arkya-art, see PR) - Extend
rotation_info
argument to support all possible angle (thanksabde0103, see PR)
- 29 June 2021 - Version 1.4
- Instruction on training/using custom recognition model
- Example dataset
- Batched image inference for GPU (thanks @SamSamhuns, see PR)
- Vertical text support (thanks @interactivetech). This is for rotated text, not to be confused with vertical Chinese or Japanese text. (see PR)
- Output in dictionary format (thanks @A2va, see PR)
- 30 May 2021 - Version 1.3.2
- Faster greedy decoder (thanks @samayala22)
- Fix bug when text box's aspect ratio is disproportional (thanks iQuartic for bug report)
- 20 April 2021 - Version 1.3.1
- Add support for PIL image (thanks @prays)
- Add Tajik language (tjk)
- Update argument setting for command line
- Add
x_ths
andy_ths
to control merging behavior whenparagraph=True
- 21 March 2021 - Version 1.3
- Second-generation models: multiple times smaller size, multiple times faster inference, additional characters, comparable accuracy to the first generation models.
EasyOCR will choose the latest model by default but you can also specify which model to use by passing
recog_network
argument when creatingReader
instance. For example,reader = easyocr.Reader(['en','fr'], recog_network = 'latin_g1')
will use the 1st generation Latin model. - List of all models: Model hub
- Second-generation models: multiple times smaller size, multiple times faster inference, additional characters, comparable accuracy to the first generation models.
EasyOCR will choose the latest model by default but you can also specify which model to use by passing
- 22 February 2021 - Version 1.2.5
- Add dynamic quantization for faster CPU inference (it is enabled by default for CPU mode)
- More sensible confident score
- 7 February 2021 - Version 1.2.4
- Faster CPU inference speed by using dynamic input shape (recognition rate increases by around 100% for images with a lot of text)
- 1 February 2021 - Version 1.2.3
- Add
setLanguageList
method toReader
class. This is a convenient api for changing languages (within the same model) after creating class instance. - Small change on text box merging. (thanks z-pc, see PR)
- Basic Demo on website
- Add
- 5 January 2021 - Version 1.2.2
- Add
optimal_num_chars
todetect
method. If specified, bounding boxes with estimated number of characters near this value are returned first. (thanks @adamfrees) - Add
rotation_info
toreadtext
method. Allow EasyOCR to rotate each text box and return the one with the best confident score. Eligible values are 90, 180 and 270. For example, try [90, 180 ,270] for all possible text orientations. (thanks @mijoo308) - Update documentation.
- Add
- 24 November 2020 - Version 1.2.1
- Preparation for user-created models
- 17 November 2020 - Version 1.2
- New language supports for Telugu and Kannada. These are experimental lite recognition models. Their file sizes are only around 7% of other models and they are ~6x faster at inference with CPU.
- 12 October 2020 - Version 1.1.10
- Faster beamsearch decoder (thanks @amitbcp)
- Better code structure (thanks @susmith98)
- New language supports for Haryanvi, Sanskrit (Devanagari Script) and Manipuri (Bengari script)
- 31 August 2020 - Version 1.1.9
- Add
detect
andrecognize
method for performing text detection and recognition separately
- Add
- 23 August 2020 - Version 1.1.8
- 20 new language supports for Bengali, Assamese, Abaza, Adyghe, Kabardian, Avar, Dargwa, Ingush, Chechen, Lak, Lezgian, Tabassaran, Bihari, Maithili, Angika, Bhojpuri, Magahi, Nagpuri, Newari, Goan Konkani
- Support RGBA input format
- Add
min_size
argument forreadtext
: for filtering out small text box
- 10 August 2020 - Version 1.1.7
- New language support for Tamil
- Temporary fix for memory leakage on CPU mode
- 4 August 2020 - Version 1.1.6
- New language support for Russian, Serbian, Belarusian, Bulgarian, Mongolian, Ukranian (Cyrillic Script) and Arabic, Persian(Farsi), Urdu, Uyghur (Arabic Script)
- Docker file and Ainize demo (thanks @ghandic and @Wook-2)
- Better production friendly with Logger and custom model folder location (By setting
model_storage_directory
when createReader
instance) (thanks @jpotter) - Model files are now downloaded from github's releases
- readtext can now accept grayscale image
- 24 July 2020 - Version 1.1.5
- New language support for Hindi, Marathi, Nepali (Devanagari Script)
- Automatic word merging into paragraph (Use this feature by setting
readtext
's parameter'paragraph' = True
)