ZXing.Netは、ZXingベースの.Net用バーコード画像処理ライブラリです。
ZXing(zebra crossing)は、Javaで実装されたオープンソースのマルチフォーマット1D / 2Dバーコード画像処理ライブラリで、バーコード(QRコード、PDF 417、EAN、UPC、Aztec、Data Matrix、Codabarなど)の読取りや生成を行うことができます。
IronPythonから利用するための手順
IronPythonからC#のライブラリを利用する の手順で行いますが、一から説明するのは大変なので、こちら のソリューションを使って説明します。
- 新規にプロジェクトを作成します。
(上のサンプルを使う場合は不要です。)
- NugetでZXing.Netをインストールします。
- 簡単なプログラムを作成します。
- 上のサンプルでは「Form1.cs」に簡易なテストプログラムを書いています。
- 後でIronPythonのライブラリにしたいので、出力パスを
..\x64\[Release or Debug]\zxing\
にしています。「ExampleOfZXingDotNET」プロジェクトのプロパティを確認してください。
- ビルドして動作を確認します。
- 上のサンプルでは
qrcode.gif
のバーコードを読み込んで表示します。
__ini__.py
を作成します。- 面倒くさいのは、パスを通す設定と参照設定です。上のサンプルの
__ini__.py
において8割方がそうです。 - 今回は便利関数なども作成しません。ただし、C#のBitmapクラスやPixelFormatクラスが使いやすいようにしておきます。
- 最後にReleaseでビルドし、生成された
zxing
フォルダを、IronPythonのLib
フォルダにコピーします。 - 上のサンプルにおいては、
example.py
も用意しています。
環境変数パスIRONPYTHON_HOME
の設定を忘れないようにしてください。(例:C:\IronPython27)
ひとこと
OpenCVでQRコードを読めるようになったようですが、定番の「ZXing」を使えるようにしておくことにはメリットがあると思います。