質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

1回答

13173閲覧

ZXing ライブラリのバーコード読み取りの精度を上げるには?

ms5025

総合スコア292

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

1グッド

4クリップ

投稿2018/11/06 01:51

編集2018/11/14 00:12

前提・実現したいこと

ZXingのライブラリのバーコード読み取りの精度を上げたいです。
理想の結果を得るにはどういう方法が考えられますでしょうか?

★★★
ZXingのライブラリを使用して、jpg内のバーコード読み取りのバッチを作成しています。
しかし1つのjpg内に複数商品と複数バーコードがあるタイプの読み取りの精度が悪く、
正直使い物にならない状態なので、読み取り精度をあげたいです。

試したこと

TryHarder他オプションを設定してみました。
画像の2値化も試してみましたが良好な結果が得られませんでした。
精度は4割読めればいい程度。1ファイル内で読み込めないバーコードもあります。

補足

画像全体のサイズから一定の比率以下のサイズだと認識されないかもしれないとの報告もありますが、
正直画像分割する手間はとれない状態です。
なんとかそのままのjpgでバーコード読み取りの精度を上げる方法はないでしょうか?
またはもっと精度の高いライブラリはあるのでしょうか?

ためしたこと追記

画像をバーコードのみで分割して1つのjpgとしてやってみても
読めないものは読めないみたいです。
見た目にはバーコードがつぶれていたり解像度が低すぎるとは思えないのですが
読めないものはどうやっても読めない感じでした。

hihijiji👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/06 04:03

.NETかんけいあるの?
ms5025

2018/11/06 04:07

.NETのライブラリです。
退会済みユーザー

退会済みユーザー

2018/11/06 04:10

どういうプラットフォームで動かす前提なのかが読み取れず、Android端末の話かと思ってしまって。
atata0319

2018/11/13 10:10

読み込めないバーコードの画像を提示していただけると回答が得られやすいかとおもいます。最低限、バーコードの種類を質問文中に追記してもらった方が良いですね。
ms5025

2018/11/14 00:09

>atata0319 さんありがとうございます。このご時世ですのでここへバーコードや関連画像をあげることはできません。イメージとしては通販のカタログ写真のようなものです。絵柄があるため複雑なのだと思います。読み込めるもの、読み込めないもの、バーコード単体に切り取っても読み込めないものなど、法則性がわかりませんでした・・・。
guest

回答1

0

画像をバーコードのみで分割して1つのjpgとしてやってみても
読めないものは読めないみたいです。

この場合、別のライブラリで読んでみるのも1つの手です。ZXing と同じように商用利用にも使えるオープンソースのライブラリとして zbar があります。
https://github.com/ZBar/ZBar

.NET で使うには .NET 用にポーティングしたモジュール zbar-sharp を使用する感じになります。
https://github.com/jonasfj/zbar-sharp

ただ、この zbar-sharp には肝心の zbar の Windows 向け DLL が含まれていません。インストーラーで配布されているものもありますが、なんとなく使うのに抵抗があったので VS2017 向けにビルド環境を構築してみました。
https://github.com/atata0319/teratail156376
プロジェクト中に上記の zbar と zbar-sharp が含まれています。それを使用するサンプルプロジェクトが1つあります。

サンプルプロジェクトにはシャープネスフィルタを組み込んでいますが、バーコードが読み込めない原因の多くが撮影時の光量と露出量の問題に起因していることが多いです。それを補正するフィルタを探していたのですが、時間がなかったので諦めました。撮影時に対象に光を多く当ててみると事態が改善することが多いかと思います。

あと、質問にも書かれている通り、バーコード解析ライブラリは画像の 6 割ぐらいがバーコードでないと正しく解析できないものが多い気がします。バーコードのみ抜き取るためには OpenCV 等を使われるのが良いかと思います。


読み取りのコツのような話は ZBar のサイトの以下のページにまとめられています。ZBar 以外のバーコード解析ソフトにも適用できる内容になっているかと思います。
http://zbar.sourceforge.net/iphone/sdkdoc/optimizing.html

投稿2018/11/18 19:01

編集2018/11/19 03:44
atata0319

総合スコア881

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ms5025

2018/11/19 04:54

ありがとうございます!zbarというものがあるんですね!! PHP側から使いたかったので、色々調べてみるとZbar用のPHPラッパーがgitにあがっているようで そちらを使ってみようと思います。 >バーコード解析ライブラリは画像の 6 割ぐらいがバーコードでないと正しく解析できないものが多い気がします そうみたいですね・・・・。 正直6割の精度だと使う意味がないかなという話になっています。 画像を撮影しているのは客先で(どのように用意しているかはメーカーカタログの為不明) こちら側で取り直しなどができるものでもなく・・ 画質についてどうこう言える感じでもなさそうです。 既にある画像を2値化してもやはり結局同じでした。 やりたいことは、バーコードつきの画像(複数バーコードと画像のあるカタログみたいなものです)が ぺら1のjpgが沢山やってくるんですが そのjpgをweb上に展開して、バーコードクリックで注文したい、みたいなことでした。 それは難しいのでカタログ画像を別途のけっておいて、商品をリストで表示して よくある注文画面にさせてもらいました。 次の要件として、商品がどのページの商品であるかの情報を持っていないため、 カタログのjpgからバーコード読んで、ページでグルーピングしてよって要件でした。 正直そこまでこっちがすることなのかなと思いつつ、 上から言われたので方法がないか探っているところでした。 ページも参考になります! やってみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問