Articles of android vision

为什么条形码检测器和相关API如此不可靠?

我一直在试验条形码检测器和相关的Vision API一周左右 – 不幸的是 – 结论是它们不可靠。 我用~10台设备测试了它们:三星和Nexus平板电脑/ Android 4.4到6.01的平板电脑。 常见的问题是我无法解码某些QR码 – 其他基于zxing库的应用程序以及iPhone解码它们都没有问题。 有问题的QR码具有以下“缺陷”之一:稍微失真的定时(由于缩放),没有静区,或者它们的位图数据具有底部/左侧原点(即图像被镜像)。 同样令人不安的是,相关的API(例如CameraSource)似乎是错误的。 幸运的是,条形码阅读器样本附带开源版本,因此可以在必要时进行修复。 最明显的错误是摄像机分辨率与视图大小匹配的方式,而不考虑当前方向。 您可以清楚地看到样本中的副作用 – 相机预览永远不会填充包含活动区域,尤其是横向方向。 有没有人遇到过类似的问题? show stoppers是否有任何变通方法 – 即解码qr代码? 谢谢。

如何在移动视觉API文本检测中减小相机源的大小

谷歌视觉api文本检测预览全屏扫描文本。 我想要一个用于文本检测的小矩形,并在文本框中显示下面的识别文本

从视觉api预览条形码扫描仪的大小

我正在使用谷歌Android Vision API的条码阅读器示例。 预览尺寸似乎没有填满整个可用空间(我使用的是Nexus 4,预览右侧有一个未使用的白色空间,约为宽度的1/3)。 我希望能够在各种设备上运行此示例,并始终让它填满整个可用空间。 所以我一直在玩的是: CameraSource.Builder builder = new CameraSource.Builder(getApplicationContext(), barcodeDetector).setFacing(CameraSource.CAMERA_FACING_BACK).setRequestedPreviewSize(?, ?).setRequestedFps(15.0f); 有任何想法吗? 谢谢!

如何禁用多个条形码检测android Vision API

我正在尝试禁用多个Barcode检测。 如何使用Google Vision API禁用MultiProcessor ,我在官方网站上找不到任何解决方案 我从这里下载了样本 码 BarcodeDetector barcodeDetector = new BarcodeDetector.Builder(context).build(); BarcodeTrackerFactory barcodeFactory = new BarcodeTrackerFactory(mGraphicOverlay); barcodeDetector.setProcessor( new MultiProcessor.Builder(barcodeFactory).build()); 即使删除下线,我根本无法检测到。 barcodeDetector.setProcessor( new MultiProcessor.Builder(barcodeFactory).build());

Android(手机)视觉相机亮度非常低

我在我的项目中集成了google vision,如下面的post所示: http : //code.tutsplus.com/tutorials/reading-qr-codes-using-the-mobile-vision-api–cms-24680 除了相机视图亮度外,一切看起来都很好。 与我的实际Android相机应用程序相比,这里的相机视图非常暗。 如果我可以增加相机的亮度并打开任何低光设置,请告诉我。 谢谢 。 图片: 相机图片 , App相机查看图片

使用Google的Mobile Vision识别静态图像中的文字?

我正在尝试使用谷歌的Mobile Vision API编写一个基本的ocr安卓应用程序,但我实际上很难让应用程序识别静态图像中的文本。 我已经查看了codelabs教程,其他人的问题,即每个带有android-vision标签的stackoverflow问题,以及文档,但我仍然没有运气。 我知道其他人问过类似的问题但是那里发布的答案没有用。 这是我的代码的摘录 Bitmap photo = (Bitmap) extras.get(“data”); pictureOcrView.setImageBitmap(photo); Context context = getApplicationContext(); TextRecognizer ocrFrame = new TextRecognizer.Builder(context).build(); Frame frame = new Frame.Builder().setBitmap(photo).build(); if (ocrFrame.isOperational()){ Log.e(TAG, “Textrecognizer is operational”); } SparseArray textBlocks = ocrFrame.detect(frame); for (int i = 0; i < textBlocks.size(); i++) { TextBlock textBlock = textBlocks.get(textBlocks.keyAt(i)); Log.e(TAG, "something is happening"); […]

Google Vision条形码检测库未在某些设备上安装

我正在使用新的Google Play服务视觉库编写应用程序以检测条形码。 在我测试过的大多数设备上一切正常,但是一个特定设备拒绝安装本机库(在此评论中提到) // Note: The first time that an app using the barcode or face API is installed on a // device, GMS will download a native libraries to the device in order to do detection. // Usually this completes before the app is run for the first time. But if that // download […]

Google Mobile Vision库未下载

我正在尝试将Google Mobile Vision TextRecogniser API实施到我的应用中,以便从给定的图像中读取文本。 当我尝试使用该function时,我收到此错误: W/DynamiteModule: Local module descriptor class for com.google.android.gms.vision.dynamite not found. I/DynamiteModule: Considering local module com.google.android.gms.vision.dynamite:0 and remote module com.google.android.gms.vision.dynamite:801 I/DynamiteModule: Selected remote version of com.google.android.gms.vision.dynamite, version >= 801 W/System: ClassLoader referenced unknown path: /data/user_de/0/com.google.android.gms/app_chimera/m/00000005/n/arm64-v8a D/ApplicationLoaders: ignored Vulkan layer search path /data/app/com.google.android.gms-1/lib/arm64:/system/fake-libs64:/data/app/com.google.android.gms-1/base.apk!/lib/arm64-v8a for namespace 0x7a2e8c60f0 I/Vision: Loading libocr library I/Vision: libocr […]

使用谷歌条码扫描器(Vision)编码的Data Matrix的未知编码

我正在尝试使用Vision Barcode Scanner的实现扫描一些Data Matrix条形码,但我在编码的条码扫描器上遇到了问题。 我在用着: int codesDetected = Barcode.ALL_FORMATS; 但它仍会返回那些的未知编码。 另一方面,Google Goggles应用程序正确扫描它们,对于使用zxing的其他一些条形码阅读器也是如此。 条形码示例: 如果能解决这个问题,我愿意转移到Zxing,但我想知道我的实现中是否缺少某些东西(我采用了Vision示例应用程序)这些types的条形码(数据矩阵编码)。 谢谢

如何从灰度字节缓冲区图像创建位图?

我正在尝试使用新的Android脸部检测移动视觉API来处理帧图像。 所以我创建了自定义检测器以获取Frame并尝试调用getBitmap()方法,但它为null,因此我访问了帧的灰度数据。 有没有办法从它创建位图或类似的图像持有者类? public class CustomFaceDetector extends Detector { private Detector mDelegate; public CustomFaceDetector(Detector delegate) { mDelegate = delegate; } public SparseArray detect(Frame frame) { ByteBuffer byteBuffer = frame.getGrayscaleImageData(); byte[] bytes = byteBuffer.array(); int w = frame.getMetadata().getWidth(); int h = frame.getMetadata().getHeight(); // Byte array to Bitmap here return mDelegate.detect(frame); } public boolean isOperational() { return […]