TesseractOCRアプリケーションの作成について<手順1-1.バーコード読み取り機能を追加>

 1.ZXing.NetをNugetでインストールする


2.Bitmapを利用するためにNugetで「System.Drawing.Common」をインストールする

3.バーコード読み取りのコードを記述する
        /// <summary>
        /// OSSのZXingでバーコードの読み取りを行う
        /// </summary>
        /// <param name="path">ファイルパス</param>
        /// <returns></returns>
        private static string ReadBarcode(string path)
        {
            // 指定された画像ファイルをPictureBoxコントロール「Image1」に表示
            var source = new Bitmap(path);

            // コードの解析
            ZXing.BarcodeReader reader = new ZXing.BarcodeReader();
            reader.TryInverted = true;
            ZXing.Result result = reader.Decode(source);
            if (result != null)
            {
                Console.WriteLine("バーコードの形式:" + result.BarcodeFormat.ToString());
                Console.WriteLine("内容:" + result.Text);
                return result.Text;
            }

            return "";

        }

4.Main関数で関数を呼び出す
        static void Main(string[] args)
        {
            Console.WriteLine("バーコードの読取を開始します");
            Console.WriteLine("");
            Console.WriteLine("JANCode");
            ReadBarcode("JANCode.png");
            Console.WriteLine("");
            Console.WriteLine("Code39");
            ReadBarcode("Code39.png");
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine("Nw7");
            ReadBarcode("Nw7.png");
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine("QR");
            ReadBarcode("QR.png");
            Console.WriteLine("");
            Console.WriteLine("バーコードの読取を終了します");

            Console.ReadKey(true);
        }

5.プログラムを実行します。
   バーコード作成サイト:https://barcode-place.azurewebsites.net/

   読み込ませたバーコード
JANCode

Code39

QRコード
Nw7(開始と終了のアルファベットは読み取らない)


   読み取り結果

6.まとめ
 バーコードの読み取りも簡単に作成できるが、実際には元画像からバーコードを切り取る必要があるので、もう少し事前処理が必要になる。ただ、バーコード読み取り機能としてはここまでで完了となるので画像を準備するのはまた別の次回以降の記事で記載する。

0 件のコメント:

コメントを投稿

PowerShellでEdgeを自動化(インストール不要。参考:郵便追跡サービス自動操作)

1.経緯について  RPAのソフトをインストールできないので、これまでVBSでCreateObjectでブラウザの自動操作をすることがたまにあった。 ※いざというときの手札として持っているだけで安心感が段違い  見た目上IEがインストールされていなくても、CreateObject...