pngなどのファイル形式でQRを作成し、そのpngをQRでエンコードして、結果のQRが最初のものと同じになるようにすることが可能かどうか疑問に思っていましたか?
4 に答える
私はそうは思わない。各 QR コードは、可変量の冗長性と共に元のデータをエンコードする必要があります。
したがって、元の QR コードをエンコードするには、同じ量の情報と追加の冗長性をエンコードする必要があります。つまり、より多くの情報をエンコードするため、結果が同じになることはありません。
21x21 から 177x177 までのさまざまなサイズの QR コードがあります。152 から約 31,000 のデータ ビットを保持できます。残念ながら、「ピクセル」あたり 1 ビットを使用しても、コードが保持できるデータ量は、それを格納するのに必要なビット数には決して達しません。
サイズはありますが、それほど遠くありません。いくつかの単純な圧縮アルゴリズムを想像します。または、キャリブレーション領域のような共通部分を無視することで、それ自体の表現を保存できるようになる可能性があります。あるサイズのqrコードを同じサイズのqrコードとして保存する方法を見つけることができると思います。
問題は、それ自体を作成するコードを構築することです。さまざまなエラー修正オプションを使用すると、数ピクセルをごまかす余地があり、そのようなことが可能になる可能性が高くなりますが、それでもかなりの魔法が必要です. おそらく、ある種の遺伝的アルゴリズムはブルート フォースよりもうまく機能する可能性がありますが、完全な仕様を読んで巧妙に手作業で構築する必要があるかもしれません。検索スペースはかなり大きいです。
フリースペースで述べたように、いくつかの理由により、同じ画像自体に画像をエンコードすることはできません。
元の画像を(再び)含むURLを含むQRコードを作成しました:
私は本当にそれがあなたが得ることができる最も近いと思います。
QR コードには、最大 1 つの QR コードを含めることができます。4296 文字。これは Unicode で、1 文字を表すのに 2 バイトが使われていると思います。これは、QR コードに最大 7089 バイトを含めることができることを意味します。これは、小さな画像 (小さな qr コードなど) を保存するには十分です。
ここでの唯一の問題は、ほとんどの QR リーダーが qr コードに (画像データではなく) テキストが含まれていることを期待していることです。