小编Cha*_*ran的帖子

使用Tesseract检测黑色背景上的白色字符

我是Tesseract OCR的新手.这个问题可能很简单,但我似乎无法使用Google找到答案.

基本上,我有一个包含两个部分的图像:第一部分位于图像的顶部,黑色背景,文本为白色; 第二部分位于图像的底部,具有白色背景,文本为黑色.

我在图像上运行了tesseract,它正确识别了底部的所有字符,但顶部没有.我确信顶部的字符非常清晰,并且应该很容易被Tesseract识别.唯一的区别是它有黑色背景.

有没有办法使用Tesseract同时识别黑白背景中的文本?

tesseract

7
推荐指数
1
解决办法
5526
查看次数

查询firebase中的分层数据结构

我有一个应用程序,以树形结构存储数据,我想将其保存到Firebase.

树中的每个节点都是这样的:

    node:
        size: // the number of items
        data: // array of items
        0: // child node 0
        1: // child node 1
        2: // child node 2
        3: // child node 3
Run Code Online (Sandbox Code Playgroud)

所以基本上,它是一个四叉树.问题是如果我加载树的根节点,它将是巨大的,因为firebase将创建包含整个树的快照.如果我能够首先读取树结构但没有"数据"字段,那么我会选择性地在某些节点中加载"数据"字段.

目前,似乎没有办法有效地做到这一点.我能想到的唯一方法是逐节点地查询树节点:

    read /node/size
    if (node has children)
      for i=0:3
         read /node/i/size
Run Code Online (Sandbox Code Playgroud)

但是,这种方法将使用太多的往返,并且没有办法判断一个节点是否有子节点而没有完全加载子节点(如果我在节点中添加'hasChild'字段,它可以完成,但它似乎是多余的).

我真诚地建议firebase开发团队可以实现一种方法,允许用户过滤返回的数据中的字段.一种新的查询方法将是最好的.

    var query = rootRef.filter("*/size");
    query.on('value', function(snapshot) {
        // snapshot contains only 'size' fields.
    });
Run Code Online (Sandbox Code Playgroud)

filter参数可以是正则表达式,查询将返回与正则表达式匹配的任何路径.我认为没有像这样的查询方法,使用firebase来存储分层数据结构是很重要的.当前的查询方法都假设存储在firebase中的数据相当"平坦"才有效.

题:

  1. 我应该如何使用现有的firebase基础架构存储树结构,以便可以有效地查询它?我需要能够向下和向上走树,并检索与特定节点相关的数据.

  2. firebase适合这种数据结构吗?什么替代策略更合适?

谢谢

firebase

3
推荐指数
1
解决办法
2752
查看次数

标签 统计

firebase ×1

tesseract ×1