データマトリックスコードの使用

I.はじめに       

        以前はデータ コードとして知られていたデータ マトリックスは、American International Data Matrix (ID Matrix) によって 1989 年に発明されました。データ マトリックスは、ECC000-140 と ECC200 の 2 つのタイプに分けることができます。ECC000-140 にはさまざまなレベルのエラー訂正機能があり、ECC200 は、リードソロモン アルゴリズムを使用してエラー訂正コードを計算するための多項式を生成します。そのサイズは、異なるサイズで印刷する必要がありますが、使用するエラー訂正コードはそのサイズに一致する必要があり、アルゴリズムが簡単でサイズの柔軟性が高いため、ECC200 の方が一般的です。【百度百科事典】

        現在、検出と識別を実装できるライブラリには、libdmtxライブラリと zxing が含まれます。ここでは、検出と識別の例として libdmtx ライブラリを取り上げます。

2. 環境設定とコンパイル

        C++ Windows vs 環境では、環境設定がまだ少し面倒です。上記のリンクから必要な libdmtx ソース ファイルをダウンロードします (バージョン 0.7.5 を使用しています)。

  1. 新しい vs プロジェクトを作成する ここでは、静的ライブラリにコンパイルされた新しいプロジェクトを作成しています。
  2. ダウンロードした libdmtx ファイルを解凍し、次に示すように、libdmtx-0.7.5/ ディレクトリ内のすべてのファイル (24 ファイル) を新しいプロジェクトのルート ディレクトリにコピーします。

  3. 以下の図に示すように、コピーしたファイルをプロジェクト ファイル構造に追加します。

  4. 次の図に示すように、プリコンパイル済みヘッダーのプロパティを変更します (プリコンパイル済みヘッダーは使用しないでください)。

  5. 以下の図に示すように、C コードにコンパイルすることを選択します。

  6. 上記の手順 3 のソース ファイルの下にある各 .c ファイルに、2 つのヘッダー ファイル #include "dmtx.h" と #include "dmtxstatic.h" を追加します。
  7. float.h、stdio.h、limits.h、assert.h、および math.h ファイルを dmtx.h に追加し、dmtx.c ファイルに含まれる .c ファイルをコメント アウトします。
  8. プロジェクトを見つけて、dmtx.h の CHKERR、CHKSCHEME、CHKSIZE、CALLBACK_MATRIX、ISDIGIT、CALLBACK_POINT_PLOT などの定義にコピーします。
  9. 静的ライブラリ プログラムの snprintf 関数を sprintf_s 関数に置き換えます。
  10. 以下の図に示すようなエラーが発生した場合は、関数の静的宣言と定義を削除するか (私が使用した方法)、非静的関数を二次カプセル化に使用することができます (ワークロードが大きい)。
     

        上記の操作を行うと、おそらく以下のように静的ライブラリをコンパイルできると思います。最初の9ステップは簡単に操作できますが、10ステップ目は時間がかかりますので、使用する場合はこちらに移動してください。これは私が調整したコードです。

 3. アプリケーション

        上記の方法でインストールとコンパイルを行うと、Windows環境でダイナミックライブラリを取得できますので、以下の使用方法を参照してください。まず、以下に示すように、新しい QRCode 属性テーブルを作成します。

         構成には、次のようなディレクトリとライブラリ ディレクトリが含まれます。

         最後に、次のように追加の依存関係を構成します。

         再カプセル化すると、結果は次のようになります。

 

おすすめ

転載: blog.csdn.net/qq_31112205/article/details/127648291