Giter VIP home page Giter VIP logo

qrcode-opencv's Introduction

使用 OpenCV 提高 ZXing 的识别率

由于 ZXing 的识别率比较迷,有时明明很清晰的图片怎么都识别不出来,就想着用 OpenCV 把二维码部分截取出来,矫正之后再识别。

算法部分参考了 JAVA提高ZXING对图片中的二维码的识别率(第二弹)

但对于其文章中使用角度判断的方式不是很认同,而且除了最大角,还需要判断最小角的角度,因为会由于某个点过偏导致不符合条件的图形。

这里对三角形的判断使用三条边边长比的方式,相比角度判断可以省去不少数学计算,甚至不需要 Math 库。

格式转换

BufferedImage 和 Mat 的相互转换,这里没有使用最快的方式而是采用了比较安全的做法。

转换时使用 bmp 格式,应该可以避免 linux 下 OpenCV 依赖外部 libjpeg 和 libpng 的问题。

没有实际编译 .so 文件,这里不确定 openpnp 的 so 文件是否包含 jpeg 和 png

在 CentOS 7 环境下,bmp 格式转换测试通过。

jar 包依赖

OpenCV 的 jar 包,能查到比较靠谱的是 bytedecoopenpnp

其中 bytedeco 比较新,但是依赖太多,这里使用了 openpnp 的 jar 包。

实际使用时,建议将 openpnp 的 jar 包重新打包,拆分为 linux 和 windows 的不同 64 位版本,以减少发布包大小。

qrcode-opencv's People

Contributors

zhao-xu avatar

Watchers

 avatar

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.