[HN Gopher] Generating a QR code with only ARM Assembly
___________________________________________________________________
Generating a QR code with only ARM Assembly
Author : barrettotte
Score : 64 points
Date : 2021-09-08 15:49 UTC (7 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| amelius wrote:
| OT. Does anyone know of a good open source library to read "Data
| Matrix" 2d barcodes? The ones I found are either broken or
| extremely slow. The frustrating part is that there seem to be
| many mobile phone apps which can do it just fine, but I want to
| run this in my own code on my desktop machine, so each barcode
| can trigger an appropriate action.
| dmitrygr wrote:
| The spec is quite clear (i was able to implement creating
| datamatrix codes of all sizes/shaped from the spec in C in a
| day). Take a look at it. It also covers how to decode them. You
| might be able to write it yourself and learn a lot in the
| process.
|
| It goes into great depth on suggested methods to decode. See
| section 9 "Reference decode algorithm for Data Matrix" in
| ISO/IEC 16022 second edition 2006-09-15, which you'll need to
| _BUY_...
|
| I've uploaded for you to view here:
| https://mega.nz/file/ctQCxDaQ#Y7-XyMeR2e8nJQ79cJfWKmlfwxPm2Q...
|
| Because, fuck ISO for paywalling knowledge!
| codetrotter wrote:
| Hos do you correct for angles around the axes x, y and z?
| That's the hard part I imagine
| dmitrygr wrote:
| I updated the comment you replied to with more info :)
| [deleted]
| wizzwizz4 wrote:
| I found another paper:
| https://www.hindawi.com/journals/mpe/2013/848276/
| gregsadetsky wrote:
| And here's a Matlab implementation based on that paper:
|
| https://github.com/lapauwThomas/QR_reader
|
| Would be curious to see how it performs.
| nayuki wrote:
| Thanks, this is going to be a fun read. =)
| lloydatkinson wrote:
| This is the third request for datamatrix barcodes I've seen on
| HN, Twitter, and Reddit today. What's going on?
| amelius wrote:
| I don't know about others, but I want to read Digikey
| barcodes. They are in data-matrix format.
| zwieback wrote:
| The only one I've used is https://github.com/zxing/zxing, but
| it was a long time ago. Seemed to work ok for DataMatrix.
| gregsadetsky wrote:
| zxing has an online decoder --
| https://zxing.org/w/decode.jspx -- but I've seen it fail so
| often that I'm wondering whether it's very "strict" / doesn't
| account for image distortion that much?
|
| Or does the web site use hardcoded settings that are more
| tweakable in the library?
|
| Huh, interesting -- zxing is in "Maintenance Mode Only":
| https://github.com/zxing/zxing
|
| I'd be suuuuper interested to know: what's the state of the
| art in terms of QR decoding, both in terms of decoding speed,
| amenability to various image distortions, and (which I've
| always dreamed of) the ability to partially decode a QR code,
| even if the error correction fails for some parts of it, or
| even totally? i.e. a very very verbose debugging/decoding
| mode?
| ianlevesque wrote:
| If you just want effective and free and don't care about
| open, Google's is the best https://developers.google.com/ml-
| kit/vision/barcode-scanning
|
| Also depending on your application you could buy a hardware
| scanner like
| https://www.zebra.com/us/en/products/scanners/fixed-mount-
| sc... for cheap secondhand since they are all over retail.
| The protocol can be as simple as it "types" the barcode over
| USB HID like a keyboard, or there are more specialized modes.
| amelius wrote:
| Google's barcode kit seems to be available only for Android
| and iOS.
| cameldrv wrote:
| I wasn't able to find one for an important project and we ended
| up having to go with a commercial library. The open source ones
| were very unreliable.
| gregsadetsky wrote:
| Would you mind sharing which one? Did you look at a few / are
| there good comparison articles?
| cameldrv wrote:
| We ended up using one from a company called 2D technology
| group. They were the only one we found that supported ARM
| Linux and did grading of codes.
| jiehong wrote:
| No OP, but I'm aware of a few:
|
| - scandit: https://www.scandit.com/developers/
|
| - cognex: https://cmbdn.cognex.com/
|
| - aspose: https://products.aspose.com/barcode/
|
| In open source, I heard of libdmtx[0], but not much happens
| on it these days. I also saw html5-qrcode[1]
|
| [0]: https://github.com/dmtx
|
| [1]: https://github.com/mebjas/html5-qrcode, which directly
| depends on a port of zxing to javascript.
| gregsadetsky wrote:
| Fascinating, thanks a lot for these.
|
| Scandit and Cognex have iOS apps, and Aspose has a web
| recognizer demo.
|
| I tried all three with a 2D QR code (my vax card!) from
| which I truncated ~2-3 bit-"rows" from the bottom. None
| of the apps/site detected the code.
|
| This is truly not a thorough test -- the 2D rows may be
| more information-dense than I think i.e. they are not
| recoverable using the built-in error correction
| (basically I'm removing too much information -- the
| equivalent of a long/deep scratch on a CD).
|
| --
|
| I'm just trying to get an intuitive sense of how much
| damage a QR code can sustain and ... I guess if there's
| such a thing as QR code forensics (there must be...??)
| for decoding partial codes versus not detecting
| "anything".
|
| Thanks again for the links. Super interesting space
| cameldrv wrote:
| There are a lot more QR code libraries available, and
| while they're conceptually very similar, the open source
| DataMatrix libraries are much less developed and are far
| less reliable.
| jdblair wrote:
| Bravo!
| rebane2001 wrote:
| On a similar note, I've been working on a QR code generator in
| Minecraft using redstone (the in-game equivalent of circuits), it
| has both been rather interesting and very painful to create.
| Definitely a great way to gain experience. I'll probably finish
| the project sometime this week.
| barrettotte wrote:
| Oh man I always wanted to build some insane things with
| redstone, but never got around to diving in. I have a little
| 4-bit architecture I'm working on so one day I can implement it
| in Minecraft and/or Satisfactory.
|
| I hope to see your creation sometime, that sounds awesome
___________________________________________________________________
(page generated 2021-09-08 23:01 UTC)