Code Monkey home page Code Monkey logo

Comments (2)

markusfisch avatar markusfisch commented on August 17, 2024

No, unfortunately there are no plans to include OCR at the moment.

I know this is tempting sometimes, and could be added in very good quality with ML Kit Text Recognition. But this would quickly escalate to some Google Lens clone - with the exact same technology behind the scenes 😉

Also, ML Kit isn't really open source but proprietary, and I want this app to be as open and transparent as possible. This is why it's using the open source barcode scanning library ZXing C++ instead of Google's proprietary ML Kit Barcode Scan. Nothing wrong with ML Kit or Google, I just want to provide an alternative to the many other barcode scanners out there that are using ML Kit.

Of course, it would also be possible to implement OCR without ML Kit, and I already did this in other apps (using Tesseract or Tensorflow), but only for selected fonts. Reaching the quality level of ML Kit requires a lot of effort, which in my opinion would go far beyond the purpose of a barcode reading app. It would also make the app considerably bigger.

And then, the app wouldn't really be about reading barcodes anymore. A domain that still contains a lot of things this app doesn't support yet. So I think it wouldn't be beneficial to extend this app beyond its core purpose to do something completely different. After all, barcodes were invented because text is hard to read for machines 😉

Of course, it's always possible to fork this project and include ML Kit 😉

from binaryeye.

VGuerreiro avatar VGuerreiro commented on August 17, 2024

No, unfortunately there are no plans to include OCR at the moment.

I know this is tempting sometimes, and could be added in very good quality with ML Kit Text Recognition. But this would quickly escalate to some Google Lens clone - with the exact same technology behind the scenes 😉

Also, ML Kit isn't really open source but proprietary, and I want this app to be as open and transparent as possible. This is why it's using the open source barcode scanning library ZXing C++ instead of Google's proprietary ML Kit Barcode Scan. Nothing wrong with ML Kit or Google, I just want to provide an alternative to the many other barcode scanners out there that are using ML Kit.

Of course, it would also be possible to implement OCR without ML Kit, and I already did this in other apps (using Tesseract or Tensorflow), but only for selected fonts. Reaching the quality level of ML Kit requires a lot of effort, which in my opinion would go far beyond the purpose of a barcode reading app. It would also make the app considerably bigger.

And then, the app wouldn't really be about reading barcodes anymore. A domain that still contains a lot of things this app doesn't support yet. So I think it wouldn't be beneficial to extend this app beyond its core purpose to do something completely different. After all, barcodes were invented because text is hard to read for machines 😉

Of course, it's always possible to fork this project and include ML Kit 😉

Hah! Yeah didn't realize it would require that much, I would be referring to OCR in terms of reading machine printed text, not handwritten, but I do understand these things can both bloat and "feature-creep" the project out of its original intent.
Got it! Thanks for clarifying and for the awesome tool! 😄

from binaryeye.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.