poupeaua
Joined 1 year ago
Joined 1 year ago
I’ve just released a brand-new Tutorials section for the library.
When discovering a new Python library, I rarely start with the API reference. I want practical examples that show how the library is intended to be used and how different components fit together.
That’s exactly what these tutorials aim to provide.
With step-by-step guides, you can progressively discover how to build image processing and computer vision workflows while learning the design philosophy behind Otary:
- One unified library for image processing and 2D geometry - A clean, Pythonic API focused on readability - Interactive workflows that are easy to explore in Jupyter notebooks - Practical examples you can adapt to your own projects
I am thrilled to share a new update to Otary, my open-source Python library dedicated to image manipulation and 2D geometry processing.
Otary now includes 17 binarization methods, designed to make experimentation both simple for beginners and powerful for advanced users.
5 basic methods: easily accessible for quick and efficient use: simple, otsu, adaptive, bradley, and sauvola.
These methods are the most classic and effective, perfect for new users and for 90% of practical cases.
12 advanced methods: for users who want to explore, compare, and understand more sophisticated approaches. They are intended for image processing specialists and researchers who want to experiment with new ideas.
The documentation presents a summary table of the 17 methods, classified by year of publication and accompanied by links to the original scientific articles.
Welcome to Otary! The new elegant Python library for image and geometry manipulation. It is elegant, readable, and powerful.
The main features of Otary are:
Unification: Otary offers a cohesive solution for image and geometry manipulation, letting you work seamlessly without switching tools.
Readability: Self-explanatory by design. Otary’s clean, readable code eliminates the need for comments, making it easy for beginners to learn and for experts to build efficiently.
Performance: optimized for speed and efficiency, making it suitable for high-performance applications. It is built on top of NumPy and OpenCV, which are known for their speed and performance.
Interactivity: designed to be Interactive and user-friendly, ideal for Jupyter notebooks and live exploration.
Flexibility: provides a flexible and extensible architecture, allowing developers to customize and extend its functionality as needed.
Give it a try! By the way, the project is open-source so feel free to contribute to it if you believe in this project. Have fun coding!
I created Otary to simplify all of that.
It offers a clean, modern interface for visual exploration, quick iteration, and seamless integration of image and geometric operations—all in one place.
Otary is built for anyone working with image processing or 2D geometry at scale—whether you’re a professional building robust systems or a beginner exploring basic tasks.
With a strong focus on code readability and maintainability, Otary simplifies your development workflow. Its API is clean and approachable, yet powerful enough for production use, backed by 98% test coverage from Codecov and an A code quality rating from Codacy.
Otary was developed to be user-friendly: it makes both simple and advanced tasks easier, without compromising on performance or reliability.
You can visit the documentation of the library here: https://alexandrepoupeau.com/otary/
Not the OCR itself, that part is easy nowadays. It’s everything that comes after.
I have been working in Data Science & Data Engineering for more than 7 years now. I worked on lots of Data projects, Data Pipeline, etc... with OCR. It is everywhere. Unfortunately, there is still no library to represent those basic Objects.
So I decided to resolve this pain point.
Otary, an open-source Python Library, resolves all those following common tasks and more: - handles different output formats for every OCR engine, - drawing détections bbox, - working with either rotated or straight bounding boxes (Axis-Aligned Bounding Boxes / AABB), - searching for words in a given region, - finding words by regex or string, - looking for words on the left or right of a given one, - having real objects (meaning classes) representing the OCR & the Bounding Boxes with properties, methods, etc... - the bbox is a Rectangle or a AxisAlignedRectangle and those objects have their own methods, properties and you can do so much with it for free... like finding intersection points with other geometry objects, rotate, expand, shift and so much so much more. - so much more (again!)...
So I added a Vision component to Otary to handle all of that.
It works with outputs from Tesseract, EasyOCR, DocTR, Azure Document Intelligence, Textract, and others, so the rest of your code doesn’t have to care where the OCR came from.