【问题标题】:Firebase ML Kit TextRecognizer change the size scan areaFirebase ML Kit TextRecognizer 改变扫描区域的大小
【发布时间】:2020-08-06 15:02:49
【问题描述】:

我想让相机只检测这个矩形内的文字(如图)

text detector app exemple

【问题讨论】:

    标签: firebase flutter camera flutter-layout firebase-mlkit


    【解决方案1】:

    请查看ML Kit Material Design Showcase app,其中提供了有关如何执行此操作的示例。我们这里采用的方法是检测视图中的所有条码,但只对位于叠加层中心的条码进行操作。

    来自BarcodeProcessor.java的以下sn-p:

     for (FirebaseVisionBarcode barcode : results) {
      RectF box = graphicOverlay.translateRect(barcode.getBoundingBox());
      if (box.contains(graphicOverlay.getWidth() / 2f, graphicOverlay.getHeight() / 2f)) {
        barcodeInCenter = barcode;
        break;
      }
    }
    

    或者,您可以在通过条形码检测器发送图像之前进行裁剪。但是,发送整个图像的好处是典型的条形码,它们可以在用户将条形码与覆盖层对齐之前很久就被检测和解码。

    【讨论】:

      【解决方案2】:
      private fun filterBarcodes(barcodes: List<Barcode>) {
              val filteredBarcodes = mutableListOf<Barcode>()
              barcodes.forEach { barcode ->
                  if (barcode.boundingBox.left > 100 && barcode.boundingBox.right < 400 &&
                          barcode.boundingBox.top > 200 && barcode.boundingBox.bottom < 400) {
                      filteredBarcodes.add(barcode)
                  }
              }
              if (filteredBarcodes.isNotEmpty()) {
                  readBarcodeData(filteredBarcodes.first())
              }
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-18
        • 2021-12-31
        • 2021-12-19
        • 2020-12-26
        • 1970-01-01
        • 2022-06-24
        • 2014-07-17
        相关资源
        最近更新 更多