android - 将变焦相机的彩色图像转换为单色图像以进行二维码识别

标签 android camera image-recognition xoom

我在摩托罗拉 Xoom 上做了一个应用程序,它使用 xzing 库识别 QrCode。我已经在我的电脑上完成了相同的应用程序并且它在我的电脑上运行完美,但在 Xoom 上,它很难识别 QrCode。它需要非常好的照明,没有直接的聚光灯。问题来自相机。前置摄像头工作得不错,但永远不如我实验室的网络摄像头。后置摄像头即使具有更好的分辨率也是最差的。后置摄像头的效果最差有点奇怪,但考虑到对焦效果不佳,我认为这是正常的。您需要一张非常清晰的图片才能获得好的结果。

现在我使用来自 zxing 的名为 PlanarYUVLuminanceSource 的算法。

所以我想知道你们是否找到了一些将彩色图像从 xoom 相机转换为黑白图像的好算法。识别单色图片的xzing库已经足够好了,所以只是单色图片质量不好。无需再向我推荐其他单色图像二维码阅读器。

最佳答案

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”包含您正在寻找的黑白图像:)

关于android - 将变焦相机的彩色图像转换为单色图像以进行二维码识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6887489/

相关文章:

android - 如何更改 ListPreference 对话框的外观

android - OkHttp 库 - 简单帖子上的 NetworkOnMainThreadException

Android:如何将它分成两类?

C/C++ : Caching the Camera Data

image-processing - 跟踪与人脸检测相关的人体 Blob

android - 错误 :Could not find fabric. aar (io.fabric.sdk.android :fabric:1. 3.17)

android - CameraX 库如何打开/关闭手电筒?

iphone - UIImage 数据始终处于横向模式

android - 使用 Processing 和 Opencv 进行 android 开发?

image-processing - 正方形检测、图像处理