java - 离线谷歌移动视觉 API 扫描图像时出现错误的文本序列

标签 java android api

 public StringBuilder scanImage(Bitmap bp)
    {
        StringBuilder sb=null;
        TextRecognizer tcx = new 
        TextRecognizer.Builder(getApplicationContext()).build();
        if (!tcx.isOperational())
        {
            Toast.makeText(getApplicationContext(), "could not get text", Toast.LENGTH_SHORT).show();

        } else
        {
            Frame fame = new Frame.Builder().setBitmap(bp).build();
            SparseArray<TextBlock> items = tcx.detect(fame);
             sb = new StringBuilder();

            for (int i = 0; i < items.size(); ++i)
            {
                TextBlock mytext = items.valueAt(i);
                sb.append(mytext.getValue());
                sb.append("\n");

            }


        }
            return sb;

    }

这是我的代码。我正在使用移动谷歌视觉 API。我只是传递图像位图进行扫描,但此方法以错误的顺序返回扫描的文本。请告诉我如何以正确的顺序获取文本。提前谢谢你

最佳答案

未按顺序提供检测到的 block 。您将需要检查每个文本 block 的位置并进行一些数学运算来排列它们。

使用myText.getBoundingBox()myText.getCornerPoints()等方法找到文本 block 的位置。

关于java - 离线谷歌移动视觉 API 扫描图像时出现错误的文本序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53591219/

相关文章:

java - 为什么当 BigDecimal 应该适合有效数字时,除法会导致舍入?

android - 尝试生成发行版APK时出现Proguard错误

android - 由于 : Debug Certificate expired,示例 Android 项目无法正常工作

java - Rest API java : java. lang.ClassNotFoundException : com. tutorialspoint.User

android - 编译器 Ginger Bread,构建版本代码 Jelly Bean Mr1 无法解析或不是字段

java - 真的需要通配符泛型吗?

java.sql.SQLException : no such column 异常

android - AVD - PANIC : Could not open. .. - 不是路径问题

api - 保护 chrome 扩展中公开的 API

java - 动态转换类