QRコードが保持できる情報量は非常に限られているため、それを達成できるかどうかはわかりません.
まず第一に、他の形式 (数値および英数字) はテキスト/数値を保持するように設計されており、画像を保存するためのスペースが少ないため、画像を生のバイトとして保存することをお勧めします。最大 2953 バイトのバイナリ情報を保持できる最小レベルのエラー修正を備えた、可能な限り最大の QR コード (バージョン 40) を選択したとします(こちらを参照)。
最初のオプションは、あなたが示唆するように、画像をビットマップとして保存します。この形式では圧縮がまったく許可されず、(アルファ チャネルのない RGB 画像の場合) 1 ピクセルあたり 3 バイトが必要です。ファイル ヘッダー サイズ (14 ~ 54 バイト) を考慮し、パディングを無視すると (画像データの各行は 4 の倍数の長さにパディングする必要があります)、およそ 2900/3 = 966 を保存できます。ピクセル。正方形の画像を考えると、これは 31x31 のビットマップを表し、サムネイル画像でも小さいです (たとえば、この投稿の最後にある私のアバターは 32x32 ピクセルです)。
2 番目のオプションでは、JPEG を使用して画像をエンコードします。この形式には、ファイル サイズを縮小できる圧縮アルゴリズムを使用するという利点があります。今回は、画像のサイズを 2.9kB に収める正確な公式はありませんが、いくつかの正方形の画像を使用して、このサイズに収まるまでサイズを縮小し、良好な (93) 品質係数を維持してみました: これにより、平均が得られます。約 60x60 ピクセルの画像。(このような小さな画像では、jpeg ファイルのファイル ヘッダーは bmp ファイルよりもはるかに大きく、約 500 バイトであるため、jpeg と bmp の間で信じられないほどの圧縮率が見られないのが普通です)。これはビットマップよりも優れていますが、かなり小さいままです。
最後に、この QR コードで画像のエンコードに成功したとしても、別の問題が発生します。このサイズの QR コードをスキャンするのは非常に困難です。実際のところ、この QR コードは 177x177 モジュールのサイズになります (「モジュール」は小さな白または黒の正方形です)。いわゆる「HD」フレーム (1280x720 ピクセル) を提供するスマートフォンを使用してスキャンすると仮定すると、各モジュールのフレームの最大サイズは約 4 ピクセルになります。カメラのノイズ、エイリアシング、およびユーザーがスキャン中に完全にアイドル状態になることはないという事実によるぼやけを考慮すると、入力フレームの品質により、QR コードのデコード アルゴリズムが QR を正常に取得することが非常に困難になります。コード (最初にエラー訂正レベルを低く設定したことを忘れないでください!)。
あまり良いニュースではありませんが、これがお役に立てば幸いです。