Replies: 3 comments 10 replies
-
Thanks for your offer. I understand your point of view. And perhaps it could be a better way to have both, the native ZXing.Net and a simple wrapper implementation for ReadBarcodes calls to zxing-cpp. Other developers are free to choose between both implementations. Btw. .Net developers should already be able to use your code by P/Invoke calls to ReadBarcodes. |
Beta Was this translation helpful? Give feedback.
-
I decided to implement the .NET wrapper for zxing-cpp myself. And since this made it very easy to throw together a little benchmark comparison tool (and I wanted to proof to myself that the couple days I put into this were worth it ;)), here are the results. As a bit of a constructive critique, I have to say that I found your project lacking in the "quick start" department of your documentation. There seems to be ample inline documentation in your source code but it took me quite a while until I had this function gobbled together from different parts of your source tree. |
Beta Was this translation helpful? Give feedback.
-
Hey, I have a question on what the options would be for cooperation, as I am just a CS student and interested on how such things work in practice. Thank you both for creating and maintaining these awesome libraries. I have tested both your implementations and must say that I have very hard images for 2D code detection. But since the pure C# version is also a project that @micjahn most likely does not want to stop, means that joining forces will not mean working on the same repository. So do you just look how the other one implemented some of the detectors to also get some ideas for improvement on the own repository? I would imagine that it would be very time-consuming to get into the details of the other repo. Would you even want to implement the same principles for the detectors, just in different languages, or is the fun coming up with your own algorithms? These might be some stupid questions, but I myself would be interested in knowing why some design decisions in the algorithms have been made and what improvements they lead to, as they are very complicated and have a lot of experience encoded in them. |
Beta Was this translation helpful? Give feedback.
-
Hi, I'm the maintainer of https://github.com/zxing-cpp/zxing-cpp, the most recent/active c++ port of the Java code. I was browsing through the heap of individual ports (among them: Qt, ObjectiveC, JS, .NET) and noticed that all of them ported the Java code into their native language thereby basically duplicating the code with all its bugs and limitations. I'd love to help consolidate the rather fragmented landscape of zxing ports and bring the community closer together working on one solution instead of fixing issues multiple times in different code bases.
I spent a considerable amount of time over the last 4 years improving/reimplementing the underlying algorithms. The code is now 2x to 10x faster and also in part substantially more capable and reliable (detect more codes with less false positives). There are discussions to merge efforts with the zint project to substantially improve the writing/generating capabilities as well.
I noticed that this project here is one of the few that are still actively maintained but has to deal with a number of issues that are (most likely) solved in zxing-cpp. Here is a random list I came up with after skimming though the issues: #390, #322, #326, #375, #345, #384.
So I'd like to propose to join forces by bringing your .NET expertise to zxing-cpp in form of a suitable wrapper (joining the set we already have: Android, iOS, Python, WASM, WinRT). The interface would be much simplified (see the one function ReadBarcodes()) but it would result in an API breaking change to your client code, which is obviously something to consider.
I'd love to hear your opinion. In case you find this proposal offensive, I apologize in advance.
Beta Was this translation helpful? Give feedback.
All reactions