バーコード ライブラリまたはバーコード SDKは、デスクトップ、Web、モバイル、または組み込みアプリケーションにバーコード機能を追加するために使用できるソフトウェア ライブラリ です。バーコード ライブラリは、バーコードイメージを作成して表面に配置したり、スキャンまたはカメラでキャプチャしたバーコードが埋め込まれたイメージから機械エンコードされたテキスト/データを認識したりできるサブルーチンまたはオブジェクトのセットを提供します。ライブラリは、生成モードと認識モードの 2 つのモードをサポートできます。一部のライブラリはバーコードの読み取りと書き込みを同じようにサポートしますが、一部のライブラリは 1 つのモードのみをサポートします。
現時点では、バーコード技術により、1セント未満のコストで、現実世界のあらゆる物体に機械読み取りタグや機械読み取り追加データを追加することができます。[1]カメラ付きデバイスを使用して、物体に関する追加データを識別します。このように、バーコード技術とバーコードライブラリを組み合わせることで、自動文書処理[2] [3]アプリケーション、OMRアプリケーション、荷物追跡[4] [5]アプリケーション、さらには拡張現実[6] [7]アプリケーションを低コストで実装することができます。
歴史
最初のバーコードSDKはソフトウェアライブラリとして実装されたのではなく、DOSおよびWindows用のスタンドアロンアプリケーションとして[8] [9] [10] 、およびバーコードフォントとして実装されました。[11]当時、バーコードは主に小売店や企業内のニーズのために使用されていたため、バーコードユーザーはバーコードを生成、印刷、認識するための包括的なハードウェアソリューション[12]を求めていました。
カメラ付きデバイス(携帯電話など)やドキュメントスキャナが日常的に一般的になり、状況は変わりました。バーコードは一般的な機器でスキャンして認識できるようになり、産業およびオフィスのユーザーはバーコード読み取りのために高価な専用単機能デバイスを購入する必要がなくなったため、バーコードの書き込みおよび読み取りSDKとライブラリのニーズ が高まりました。
バーコード書き込みライブラリは、 GNU BarcodeやZintなどのプロジェクトでバーコードフォントまたはスタンドアロンアプリケーションとしてすでに実装されています。バーコード書き込みライブラリの実装には、 AIM [13]またはISO仕様[14]に従うだけでよいため、難しいコンピュータサイエンスのスキルは必要ありません。特別なファイル形式でデータをエンコードすることと違いはありません。
2Dバーコードのエンコードは、1Dバーコードの代わりに列、行、ECI、データ修正オプションなどの追加のエンコードデータがあるため、より困難です。MaxiCodeやPdf 417などの一部の2Dバーコードには、郵便番号やメタデータなどの特別なエンコードフィールドがあり、これらのバーコードを複数のグラフィックファイルに変換します。[15]これらの違いは、バーコードフォントの使用や、複数のパラメータ処理が必要なAPIでは解決できませんでした。
バーコード読み取りライブラリはより複雑で、コンピュータビジョン技術を必要とします。しかし、それらは一般的なカメラやスキャナを備えたデバイスで実行できます。最初のライブラリは、レーザースキャナモードのエミュレーションによって1Dバーコードのみを認識できました。このモードでは画像全体がキャプチャされましたが、その後ライブラリはBresenhamのアルゴリズムを使用していくつかのスキャンラインを作成し、ハードウェアレーザースキャナと同様にこれらのラインからデータを認識しようとしました。これらのライブラリの明確な代表例は、 Google、 ZBar [16] 、またはその他のソリューションによってサポートされている初期のZXingプロジェクトです。[17] [18]
2Dバーコードの認識にはレーザースキャナモードのエミュレーションは適していません。さらに、この方法ではバーコード領域の検出が難しく、1Dの斜めバーコードの検出に問題が生じます。1Dおよび2Dバーコードの認識品質を向上させるために、コンピュータビジョンのより複雑な方法が実装されました[19] [20]。
応用
バーコード ライブラリは、さまざまなサービスや産業分野に低コストの自動識別機能とデータ キャプチャ機能を提供してきました。これには、エンターテイメント、ヘルスケア、郵便サービス、ドキュメント処理、小売アプリケーションなどが含まれます。
以下の用途に使用できます:
- 広告[21]
- 仮想物体の迅速な識別としての拡張現実の実装[22]
- 文書処理における自動データ識別
- インターネットページへのハイパーリンクを自動的に識別
- 自動認識支払請求書[23]
- デザインにおけるバーコードの創造的な使用法[24]
- 運転免許証、[25]領収書やパスポートなどの書類のデータ入力
- 暗号化キーの転送と文書の検証
- 小売業における食品および商品の追跡
- 拡張現実のゲーム
- 空港、バス/鉄道駅での自動チケットおよび乗客の書類識別
- 物理的なオブジェクトと仮想表現をリンクするモノのインターネット
- 荷物追跡[26]
- 医療サービスまたは医療業界における患者または医薬品の識別
- 名刺からの迅速な情報抽出[27]
- レンタカー、航空会社の荷物、さらには核廃棄物の追跡
- 車両識別[28]
種類
バーコード ライブラリやバーコード SDK は、機能に基づいてさまざまなタイプに分類できます。
- バーコードフォント
- バーコード書き込みライブラリ
- バーコード読み取りライブラリ
- バーコードフルサポートライブラリ
最初のバーコード ライブラリは、ユーザーに対して完全に透過的で、専用のTrueTypeフォントを使用した単純な印刷テキストとして使用されていました。1Dバーコードは線形テキストと同じで、チェックサムが含まれることもあるため、これは1D バーコードに適しています。2Dバーコードでバーコード フォントを使用することもできますが、バーコードの行と列、メタデータの設定などのメタデータ処理に問題があります。この問題は、同じ種類のバーコード用のフォント セットで事前に定義された異なるメタデータ値によって解決されます。
API呼び出しを備えたバーコード ライブラリには、書き込みモードと読み取りモードでのカスタマイズ機能がさらにあります。ただし、書き込みモードと読み取りモードを完全にサポートしているのはライブラリの一部のみです。ライブラリの半分以上は 1 つのモードのみをサポートしています。
バーコードライブラリリスト
バーコード ライブラリは、さまざまなバーコード形式とプログラミング言語をサポートできます。また、読み取り機能と書き込み機能のサポートも異なります。最も一般的なバーコード ライブラリと SDK は、次のリストに示されています。
推奨事項とベストプラクティス
バーコードは、低コストで現実世界のあらゆる物体[79]に機械読み取りタグを追加する方法です。RFIDチップや画像認識による物体検出などの他のすべての方法は、より高価で実装が困難です。200を超えるバーコードタイプがあり、バーコードタイプの選択が曖昧になっています。最初のバーコードは60年代に標準化され、バーコード機能の開発には2つの波がありました[80] [81]
バーコード規格の最初の波は 60 年代に始まり、1D バーコードでした。これらのバーコードの主な利点は、線形バーコードのエンコードが簡単で、レーザー スキャナーで認識できることです。これらすべての制限は、当時使用されていた低速の8 ビット プロセッサに関係していました。このため、1D バーコードは、 Code 11のようにシンボル エンコードが制限されていたり、 EAN 13、UPCA、EAN 8のようにバーコードの長さが制限されていたり、 Code 39バーコードのようにチェックサムなしでも使用されていました。さらに、これらのバーコード タイプの情報密度エンコードは低すぎます。[82]
さらに、これらの 1D バーコードはすべてチェックサムの品質が低いか、チェックサムがまったくないため、品質が低すぎる画像では認識プロセスが予測できません。オープンソース エンジンは低品質の画像上の 1D バーコードを認識しませんが、高度な認識アルゴリズムを備えたバーコード エンジンはこれらのバーコードを認識できます。残念ながら、低品質の画像を認識すると、認識されたテキストに誤ったシンボルが生成される場合があります。低密度のエンコード、エンコードの制限、および弱いチェックサムにより、1D バーコードは情報システムとデータ処理の現在の要件に適していません。新しいアプリケーションで 1D バーコードを使用することは、業界標準で要求されている場合に限り合理的です[83] [84]
バーコード規格の実装の2番目の方法は90年代に開始され、2Dバーコードの開発でした。2Dバーコードの主な利点は、10倍以上の高いエンコード密度、テキストエンコードの制限がないこと、リードソロモンコードなどのセルフチェックコードであり、正しい認識の信頼性を高めるだけでなく、消去または破損したバーコードデータの一部を復元することもできます。[85] 2Dバーコードの主な欠点は、PDF 417を除いてレーザースキャナーで認識できないことです。認識には写真スキャナーが必要です。ほとんどの2Dバーコードはバイトモードで情報をエンコードできるため、8ビットの国別エンコード文字セットのテキストと、 ECIタグ付きのUTF16やUTF8などの一般的なUnicode文字セットのテキストの両方をエンコードできます。
業界標準が許せば、新しいプロジェクトでは2Dバーコードを使うべきである。[86] [87] 2Dバーコードはテキストのエンコードに制限がなく、破損した画像や低品質の画像でも正しく復元でき、認識結果は完全に機密である。情報密度が高いため、1Dバーコードと同じ領域、あるいは1Dバーコードよりも小さい領域に配置できる。ここでの主な問題は、マークされた領域に対する要件である。最も一般的なQRコードは正方形サイズのみで、一部のサイズではAztecやDatamatrixと同じである。高さの低い長方形の領域がある場合は、長方形サイズのDatamatrixを使うことができる。DMRE [88]またはPDF417を参照。これらは幅と高さの差が64倍以上あることがある。
参照
参考文献
- ^ 「バーコード対RFID、なぜバーコードが依然として勝利するのか」www.brightpearl.com。2018年8月17日。
- ^ Canteli, Ana (2020年2月28日). 「文書管理におけるバーコード」www.openkm.com。
- ^ 「バーコードはビジネスプロセスの効率化に役立ちます」。processflows.co.uk 。 2021年1月17日時点のオリジナルよりアーカイブ。
- ^ 「DHL 出荷追跡ラベル」www.dhl.com。
- ^ 「USPS 追跡バーコードとラベルの変更」www.endicia.com。
- ^ Samara, Anatoliy; Hofmann, Klaus Michael; Groten, Dirk (2014 年 9 月 4 日)。「Patent US 2014/0247278 A1 Barcode visualization in augmented reality」(PDF)。米国特許出願公開。
- ^ Palladino, Tommy (2018年2月11日). 「Walmart、iPhoneアプリのバーコードスキャナーを拡張現実の価格比較ツールに変える」. mobile-ar.reality.news .
- ^ 「PrintBar II バーコード印刷ソフトウェア」.本.google.com。 ISSN 0888-8507、PC Mag、1989 年 8 月、p.464。 1989 年 8 月。
- ^ 「Windows 用バーコード ソフトウェア」。books.google.com。ISSN 0888-8507、PC Mag、1994 年 11 月 8 日、p.414。1994 年 11 月 8 日。
- ^ 「LabelWorks for Windows」。books.google.com。ISSN 0199-6649、InfoWorld Vol.17、№43、p.104。1995 年 10 月 23 日。
- ^ 「Windows 用バーコードフォント」。books.google.com。ISSN 0888-8507、PC Mag Vol.16、№ 21。1997 年 12 月 2 日。
- ^ 「IBM PC、Mac、および RS232 端末用バーコード リーダー」。books.google.com。ISSN 0888-8507、PC Mag Vol.16、№ 21。1997 年 12 月 2 日。
- ^ 「AIM仕様(ISS)」www.aimglobal.org。
- ^ 「ISO/IEC JTC 1/SC 31 自動識別およびデータキャプチャ技術による標準」www.iso.org。
- ^ 「MacroPDF417 バーコード」www.barcodefaq.com。
- ^ 「ZBar バーコード リーダー。どのように動作するのか?」zbar.sourceforge.net。
- ^ ヨハン・C・ロコール;クレンク、セバスチャン。ハイデマン、ギュンター。 「モバイルデバイス上の堅牢な 1D バーコード認識」(PDF)。 2010 年パターン認識に関する国際会議。
- ^ Adelmann, Robert; Langheinrich, Marc; Flörkemeier, Christian. 「カメラ付き携帯電話でのバーコード認識および解決ツールキット - モノのインターネットの始動」(PDF)。欧州数学情報サービス。S2CID 1050073。
- ^ Katona, Melinda; Bodńar, Ṕeter; Nýul, Ĺaszĺo G. 「バーコードと QR コードの位置特定のための距離変換とテンプレート マッチング ベースの方法」(PDF)。
- ^ ハンセン、ダニエル・コールド;ナスロラヒ、カマル。ラスムセン、クリストファー・B; Moeslund、Thomas B. 「深層学習を使用したリアルタイム バーコード検出と分類」(PDF)。
- ^ Trewe, Marti (2012 年 6 月 4 日). 「QR コードは雑誌や新聞で最も効果的」theamericangenius.com}。
- ^ Baruah, Basant (2020年4月13日). 「拡張現実とQRコード – 知っておくべきこと」. blog.beaconstac.com .
- ^ 「スイスでQR紙幣が発行」www.six-group.com 2020年6月9日。
- ^ 「QRコードの設計と使用」www.prepressure.com 2013年1月31日。
- ^ 「国際運転免許証。小冊子とプラスチックカード」www.idlid.com。
- ^ 「漢信法典」www.ancc.org.cn . 2020年4月2日時点のオリジナルよりアーカイブ。
- ^ 「QR コードで名刺をもっと魅力的にする方法」covve.com。
- ^ 「自動車のVINバーコードのスキャン」www.barcodehq.com。
- ^ 「Aspose.BarCode オンプレミス API」。www.aspose.com。
- ^ 「MSDN Magazine V32 N8、Aspose.BarCode バーコード生成および認識のための完全なツールキット」(PDF)。Microsoft。2017 年 8 月。99 ページ。
- ^ 「純粋な PostScript のバーコード ライター」bwipp.terryburton.co.uk。
- ^ 「シンボルリファレンス」. github.com .
- ^ 「Barcode4J へようこそ」. sourceforge.net .
- ^ 「Barcode4J でサポートされているすべてのバーコードシンボルのプレビュー」。sourceforge.net。
- ^ 「.NET および Java 開発者向けのバーコード エンコーダーおよびデコーダー コンポーネント」。www.barcodelib.com。
- ^ barkoder.com. 「すべてのエンタープライズモバイルソリューション向けのバーコードスキャナーSDK」。barkoder 。 2023年10月26日閲覧。
- ^ 「BarCode Reader SDK はスキャンした文書や画像からバーコードを読み取ります」。bytescout.com。2010年 8 月 10 日。
- ^ 「ClearImage バーコードリーダー SDK」。www.inliteresearch.com。
- ^ 「バーコードスキャナー SDK & API」. manateeworks.com .
- ^ 「Docutain バーコード スキャナー SDK」。sdk.docutain.com。
- ^ "バーコード認識 SDK - DTK ソフトウェア". www.dtksoft.com。
- ^ 「Dynamsoft Barcode Reader SDK」。www.dynamsoft.com。2021年12月21日。
- ^ 「1D および 2D バーコードの読み取りと書き込み用の GdPicture.NET バーコード SDK」。www.gdpicture.com。
- ^ 「GdPicture.NET: 100 を超えるドキュメント形式をサポート」www.gdpicture.com。
- ^ 「GNU バーコード」。www.gnu.org。
- ^ ".NET 用 IBscanner". www.ibscanner.com。
- ^ 「ビジネス自動化のためのバーコード生成ソリューション」www.idautomation.com。
- ^ 「バーコードフォント」www.idautomation.com。
- ^ 「バーコードコンポーネント」www.keepdynamic.com。
- ^ 「バーコード SDK テクノロジー」www.leadtools.com。
- ^ 「バーコードスキャン、MLキット、Google Developers」。developers.google.com。
- ^ 「Google API 利用規約」。google.com。
- ^ 「バーコード、ラベリング、印刷、イメージングコンポーネント」。neodynamic。
- ^ 「バーコードシンボル」www.neodynamic.com。
- ^ 「画像からバーコードを認識、読み取り、デコードする」www.neodynamic.com。
- ^ 「バーコード」. grandzebu.net .
- ^ 「バーコードのスキャンと読み取りのための世界をリードする .NET SDK」www.pqscan.com。
- ^ 「Python バーコードライブラリ」. github.com . 2022年8月8日。
- ^ 「バーコードスキャナー SDK」。scanbot.io。
- ^ 「Windows 用バーコード リーダー SDK」。www.sd-toolkit.com。
- ^ 「業界をリードするバーコード SDK」。www.technoriversoft.com。
- ^ 「.NET バーコード ライブラリ - 1D 2D バーコード イメージの生成、読み取り、スキャン」www.e-iceblue.com。
- ^ 「39 種類以上の豊富なバーコード タイプをサポートします」。www.e-iceblue.com。
- ^ 「TBarCode SDK - バーコード生成ソフトウェア」www.tec-it.com。
- ^ 「TBarCode SDK データシートとバーコードの概要」。www.tec-it.com。
- ^ 「VintaSoft バーコード .NET SDK」。www.vintasoft.com。
- ^ 「PDF ドキュメントからバーコードを読み取る」www.vintasoft.com。
- ^ 「強力なバーコードデコーダー SDK - Viziotix」。www.viziotix.com。
- ^ 「スマートフォン、ロボット、ドローン、カメラ向け のエキスパートバーコードスキャナー SDK」(PDF) 。www.viziotix.com。
- ^ 「VS バーコードリーダー」visionsmarts.com。
- ^ 「ZBar バーコードリーダー」。sourceforge.net。
- ^ 「Zen バーコード レンダリング フレームワーク」. github.com . 2023 年 1 月 6 日。
- ^ 「Zint バーコード ジェネレーター」.ソースフォージ.net。
- ^ 「ZintNET は、C# で書かれた人気の Zint ライブラリの .NET ポートです」。sourceforge.net。
- ^ “オカピバーコード”. github.com。 2022 年 12 月 30 日。
- ^ 「Zint Barcode Generator および Zint Barcode Studio ユーザー マニュアルの概要」。www.zint.org.uk。
- ^ 「Zint Barcode Generator および Zint Barcode Studio ユーザー マニュアル シンボルの種類」。www.zint.org.uk。
- ^ 「Java、Android用ZXing(「Zebra Crossing」)バーコードスキャンライブラリ」。github.com。2023年1月12日。
- ^ 「自動識別およびデータキャプチャ (AIDC) テクノロジー」www.elprocus.com ElProCus は、ECE および EEE の学生向けの電子プロジェクトに関する教育 Web サイトです。2014 年 6 月 6 日。
- ^ 「バーコードの歴史」。barcodeguide.seagullscientific.com。Seagull Scientificの BarTender。
- ^ 「バーコードスキャナーの歴史」www.dbk.com . Refurbished IT Solutions。2022年4月23日時点のオリジナルよりアーカイブ。
- ^ 「最も効率的に使用できるバーコードは何ですか?」www.barcodefaq.com。バーコード情報チュートリアル。
- ^ 「バーコード – 正しい方法 GS1 UK によるベスト プラクティスの推奨事項」(PDF)。www.gs1uk.org 。GS1 UK ビジネスのグローバル言語。
- ^ 「POS におけるバーコードの品質向上のためのベスト プラクティス」(PDF)。www.gs1.at 。GS1オーストリア。
- ^ 「エラー訂正は、1Dバーコードと2Dバーコードの選択に大きな違いをもたらします」。www.supplychainservices.com 2014年12月4日。2022年3月30日時点のオリジナルよりアーカイブ。
- ^ 「2Dバーコードの価値を理解する」www.maibpo.com。2020年7月11日時点のオリジナルよりアーカイブ。
- ^ 「2Dバーコードで倉庫の効率を高める3つの方法」lowrysolutions.com 2016年10月4日。
- ^ “DMRE”. www.edc.info . 2021年12月16日閲覧。
外部リンク
- サプライチェーン管理におけるバーコードと無線周波数識別の利点と欠点
- GS1バーコード
- 広角画像でのラベルとバーコードの検出
- モバイルデバイスでの堅牢な1Dバーコード認識
- GS1バーコード導入の10ステップ
- バーコードにエンコードされたデータの例
