将彩色图像从Xoom相机转换为单色图像以进行二维码识别

时间:2011-07-31 04:05:21

标签: android camera image-recognition xoom

我在Motorola Xoom上做了一个使用 xzing 库识别QrCode的应用程序。我已经在我的计算机上完成了相同的应用程序,它在我的计算机上完美运行,但在Xoom上,它很难识别QrCode。它需要一个非常好的照明,没有直接的聚光灯。问题来自相机。前置摄像头的工作并不差,但从来没有像我的labtop上的摄像头一样好。即使它具有更好的分辨率,后置摄像头也是最差的。后置摄像头给出了最差的结果,这有点奇怪,但鉴于焦点效果不好,我认为这是正常的。你需要一张非常清晰的图片来获得好的结果。

现在我使用zxing的algo名为 PlanarYUVLuminanceSource

所以我想知道你们是否找到了一些良好的算法,用于将彩色图像从xoom相机转换为单色图像。用于识别单色图像的xzing库是很好的,所以它只是单色图片质量差。无需向我推荐另一个单色图像qrcode阅读器。

1 个答案:

答案 0 :(得分:1)

Bitmap yourPhoto = //The bitmap of the photo from your camera
Bitmap tempBitmap = Bitmap.createBitmap(yourPhoto.getWidth(), yourPhoto.getHeight(), Bitmap.Config.ARGB_4444);
Canvas c = new Canvas(tempBitmap);
Paint paint = null;
ColorMatrix cm = new ColorMatrix();
paint = new Paint();
cm.setSaturation(0);
ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
paint.setColorFilter(f);        
c.drawBitmap(yourPhoto, 0, 0, paint);

现在你的'tempBitmap'包含你正在寻找的黑白图像:)