I'm trying to leverage ZXing in an Android app to scan data matrixes. So far I'm successful with printed data matrixes such as this:
But other data matrixes, which are either printed by laser or punched into the material, have circle-looking marks —instead of square-looking ones.
These present a problem. The only app I've found capable of scanning this is QRDroid. This article says that QRDroid uses ZXing so I'm thinking if they can, there must be a way. Unfortunately QRDroid is not an open source project so I don't know how.
There's the possibility of course that QRDroid is using an algorithm to somehow transform the circled marks in to squared ones before they attempt to read the data matrix. I don't know anything about image manipulation in Java, so I can't imagine how this is done.
My question is whether there's a way to tweak ZXing to read this type of data matrix, or if there's any library I can use to manipulate the image to make it readable by ZXing.
Edit:
If I use an image editor -e.g. I used https://www.befunky.com- to and apply a blur of 10, then it looks like a normal printed data matrix and my scan works. How should I go about doing this in my Android app?