2011-07-11 23 views
2

thisのようなデータマトリックスをスキャンする必要があります。

コードは白/薄灰色ですが、カメラの位置(角度)、光に応じて背景が異なる色を反映します。 Android Zxingで取り込まれた画像を編集する場所はどこですか?

処理前に画像を白く黒くする調整はありますか?Android ZXing画像処理

いい考えがあります。たぶん、あなたは、デフォルトでGlobalHistogramBinarizerを使用している

http://zxing.org/w/docs/javadoc/com/google/zxing/common/HybridBinarizer.html

、高速ですが、グラデーションであまり良く機能しません。

答えて

2
  Bitmap bm = Bitmap.createBitmap(500, 500, Bitmap.Config.RGB_565); 
      Canvas c = new Canvas(bm); 
      Paint paint = new Paint(); 
      ColorMatrix cm = new ColorMatrix(); 
      cm.setSaturation(0); 
      ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm); 
      paint.setColorFilter(f); 
      int xo = (w-500)/2; 
      int yo = (h-500)/2; 
      c.drawBitmap(bmp, -xo, -yo, paint); 
      bmp.recycle(); 
+0

これは、キャプチャー活動に行きますか? – Daniel

+0

mmmm参照してください。このコードは黒白の画像を作成しますか? –

+0

デコードする前に画像を処理したい。より良いアプローチがありますか? – Daniel

2

はまた、このクラスを見てみましょう。

+0

私は以下を使用します: 'PlanarYUVLuminanceSource source = CameraManager.get()。buildLuminanceSource(data、width、height); BinaryBitmapビットマップ=新しいBinaryBitmap(新しいHybridBinarizer(ソース)); 'だから** HybridBinarizer **。 – Daniel

0

認識の前に画像処理が必要なようです。以前の答えは、バックグラウンド強度の変化に敏感なヒストグラムbianrizerを提案しています。 Sauvolaフィルタは、背景の変化(および勾配)に対して良好な耐性を有することが知られているが、より高い処理時間を有する。 (私たちのOCRプロジェクトで実装:http://sourceforge.net/projects/javaocr/を、そしてあなたは、このアプリケーションでのアクション でそれを見ることができます:https://market.android.com/details?id=de.pribluda.android.ocrcall&feature=search_result