Merricx / qrazybox

QR Code Analysis and Recovery Toolkit
https://merricx.github.io/qrazybox/
MIT License
392 stars 45 forks source link

Support larger QR-Codes #2

Closed maf-soft closed 1 year ago

maf-soft commented 3 years ago

It looks like this tool is exactly what I searched for. However, my broken code has 65x65 pixels. Is it so hard to extend it? I can't believe this is exactly what I need and it refuses to work... :)

maf-soft commented 3 years ago

Just in case you read this maybe months later and think, "now it's too late anyway": I've given up on this code for now, but I saved it and I will stay interested to try it out much later...

Merricx commented 3 years ago

Hi, sorry for the trouble. I'll try to increase the maximum size of the code, but maybe not soon.

wphiphi commented 2 years ago

@maf-soft I continued the work of denysvitali and finished support for size up to v40. ( check my master branch , if you want to try others work in progress stuff , check the enhancements branch )

Do you mind to check and test ?

Hopefully a PR will be proposed soon .

wphiphi commented 2 years ago

image

maf-soft commented 2 years ago

Yeah! Good timing - Jan 4th was my birthday ;-) Will give it a try when I find time, thanks.

maf-soft commented 2 years ago

I downloaded it and it seems to work, but it's a lot of work to reconstruct 65x65 pixels, still trying. I'm missing a way to see where errors could be. "Extract QR Information" shows some info, but it's hard to understand. Maybe there also should be more colours so you can see what is still unchanged after import from a picture, and what was manually edited/verified...

wphiphi commented 2 years ago

@maf-soft I agree, I have the same issue. With this size, Data Analysis is not supported ( "interleaving not supported" ) . The first battle was getting the QR to be loaded ( 3 finder patterns dedected and aligment pattern ok , adding quiet zone to image and resizing upward-constrast-sharpen combo ) . Simply at this size drawing it is too time consuming. After , either you got lucky Padding bit recovery help and allow you to then recover using RS. Most probably like my current QR i am solving at his size, it mean it probably use the majory of the data blocks. I suppose that your QR is also multi segments : one message but using different encoding for part of it to optimise the databits usage.
And that the decoding break after because the segment type is not correct so it output garbage. And since Padding bit is based on the same code as Strong QR decoder ( extract QR info ), it will start padding where strong decoder break.

Which goes to the same type of request as #4 . Provide an assisted way to assist with reconstruction.

maf-soft commented 2 years ago

I clicked about 2 hours and got it to decode :) great, thanks. Yes, it had 4 segments.

wphiphi commented 2 years ago

Great News, I should follow your path , draw it and be done in 2 hours, instead of going further into the rabbit hole :D

wphiphi commented 2 years ago

You are correct that currently ZXing ( the library behind the loading) only output what it sure , maybe it need to output "?"/-1 for the unsure module so that it make it more easy to use the RS decoder to recover those .