wrap-up packageがZxing's codeで、MatLabのQRコードをデコードしています。 QRコード付きの300枚の画像がありますが、300枚のうち120枚しか読み取れません。 Zxing's decode siteを試してみると、より多くのコードを読むことができます。私はちょっと調べて、MatLabで使ったコードとZxing GitHub source codeのコードを比較しました。下に示したように、コードに少し違いがあることがわかりました。誰かが、この変更が違いをもたらすとも示唆した(here)。 (私はBufferedImageLuminanceSource
の前にnew
を追加するだけだと思っていますよね?)MatLabでQRコードをデコードするコードを改善するにはどうすればよいですか?
私はJavaについて考えていません。だから私はMatLabの次のステップをどのように改善できるのか尋ねています。 Zxingのソースコードでは、コードを読み取ろうとしてさまざまな方法を使用していました。これを私のMatLabコードにどのように追加できますか?あまりにも多くの作業が必要な場合、誰かが私にリンクを提案して、自分でそれを改善する方法を学ぶことができますか? MatLabのためExchangeFileから
:
jimg = im2java2d(img);
source = BufferedImageLuminanceSource(jimg);
bitmap = BinaryBitmap(HybridBinarizer(source));
Zxingのコードから:
private static void processImage(BufferedImage image,
HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new GlobalHistogramBinarizer(source));
Collection<Result> results = new ArrayList<>(1);
私はそれがZxingのGitHubのから、ここFileExchangeからコードを置くために右のかどうかわかりません。だからそれが正しいのでなければ、教えてください。ありがとうございます!
編集
たぶん私の質問は、それほど明確ではありません。私の質問を要約すると、いくつかのQR画像はMatLabのラッパースクリプトでデコードできませんでしたが、Zxingオンラインデコーダで読むことができます。 MatLabのラッパースクリプトはZxingオンラインデコーダと同じ機能を使用するため、異なる結果が得られる理由は何ですか? this pageから
お返事ありがとうTommaso!しかし、私はちょっと混乱しています。実際にFile ExchangeのラッパーパッケージはMatLabでは動作しますが、Zxingのオンラインデコーダでは動作しません。つまり、MatLabで読み込めなかった画像はオンラインデコーダで読むことができます。そのため、使用しているコードを比較し、MatLabのメソッドを改良することを考えています。 – Ziming
ここでの主なポイントは、ZxingのデコーダがQRコードを解読するためのより良い方法を使用していると思いますこれは最近更新されていますが、MatLabのラッパーパッケージは2010年以降に更新されていないため、古い関数を使用していました。しかし、私は正しいかどうかは分かりません。 – Ziming
問題は、ラッパーが単なるラッパーであることです。つまり、ファイル交換時のスクリプトの唯一の目的は、ZxingパッケージをMatlabで実行することです。それはZxingの出力を向上させることができるMatlabの部分を改善することではありません... –