lessthanoptimal / BoofCV

Fast computer vision library for SFM, calibration, fiducials, tracking, image processing, and more.
http://boofcv.org
1.07k stars 257 forks source link

Feature Request: Support for Micro QR Code #176

Closed GokulNC closed 2 years ago

GokulNC commented 3 years ago

Support for both encoding and decoding would be great.

lessthanoptimal commented 3 years ago

Could be a little bit, but I'll look into it. I don't think it should be too difficult to adapt. Out of curiosity, where do you encounter Micro QR Codes? I don't think I've seen them in the wild yet.

GokulNC commented 3 years ago

I find it on in the back of my electronic devices, mostly if they're Chinese based. For example, battery. Also I remember seeing them in public places for WiFi access, though I cannot definitely say if they were normal or micro QR codes.

lessthanoptimal commented 3 years ago

Going to attempt to add this to v0.39. Was looking at the specs and it should be straight forward to adapt the existing code.

lessthanoptimal commented 2 years ago

https://github.com/lessthanoptimal/BoofCV/tree/feature/micro_qr

started implementing it

lessthanoptimal commented 2 years ago

Appears to be working. Still a bunch of work to do. One area you can easily help out is collecting a few real-world test images. Micro QR Codes are not nearly as common as QR codes so if you could provide images which could be added to the regression tests that would be great. I'll make some of my own but they would be "real" use cases.

lessthanoptimal commented 2 years ago

It's in SNAPSHOT with example code and working app. Please test and open if you find any issues!

GokulNC commented 2 years ago

Thanks! Currently I do not have any images to test.

At the time I raised this issue, we solved this issue by buying this API temporarily: https://www.datasymbol.com/barcode-reader-sdk/barcode-reader-sdk-for-windows/online-barcode-decoder.html


Can you please add support for this in PyBoof as well? Currently I do not have Java setup on my machine. It would be a good feature in the python library as well.

lessthanoptimal commented 2 years ago

Would be interesting to do a comparison between the two. Never tested my QR code library against a commercial product.

I'll add it tp PyBoof when the next stable release comes out. That will probably happen in the next 2 to 4 weeks. Need to fix a couple of regressions first.

lessthanoptimal commented 2 years ago

Just did a test using their website and it looks like BoofCV does a significantly better job!

lessthanoptimal commented 2 years ago

@GokulNC Any chance you can contact me outside of Github? I'm trying to think of ways to help fund BoofCV and considered creating really easy to use web services and would like your thought since it sounds like your company/group might be potential customers.

GokulNC commented 2 years ago

Sorry I missed this message.

Thanks for asking! But as of now, unfortunately I am not working in that company where the requirement was there. Sorry! :)

StaniEbo commented 1 year ago

Where can I get the Micro QR code dependency?

lessthanoptimal commented 1 year ago

The last two versions have it included in the 'boofcv-core' module on Maven Central.

After adding that you should be able to run this example just fine.

ExampleDetectMicroQrCode.java https://github.com/lessthanoptimal/BoofCV/blob/SNAPSHOT/examples/src/main/java/boofcv/examples/fiducial/ExampleDetectMicroQrCode.java

On Wed, Oct 26, 2022 at 3:47 PM StaniEbo @.***> wrote:

Where can I get the Micro QR code dependency?

— Reply to this email directly, view it on GitHub https://github.com/lessthanoptimal/BoofCV/issues/176#issuecomment-1292746009, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFUOV4L5C24SS7K7HSUD5DWFGYHXANCNFSM4R5RFWNQ . You are receiving this because you modified the open/close state.Message ID: @.***>

-- "Now, now my good man, this is no time for making enemies." — Voltaire (1694-1778), on his deathbed in response to a priest asking that he renounce Satan.

StaniEbo commented 1 year ago

@lessthanoptimal Whenever I use The QrCode classes I get 3/4 Qrcodes but when I use Micro Qr Code I get none! Is there anyway we can optimise the detection in order to get a 4/4 using both Qrcode and MicroQrCode?

lessthanoptimal commented 1 year ago

One detector for each type of marker. With the current architecture you will need to run each detector independently on the same image.