【问题标题】:Android Tess-Two OCR unmappable character 'fi'Android Tess-Two OCR 不可映射字符 'fi'
【发布时间】:2015-11-21 09:43:21
【问题描述】:

我的 android 应用具有使用 tess-two 库的 OCR 功能。我在阅读包含“fi”的字符串时遇到了这个问题。在baseApi.getUTF8Text()之后,一个获取OCR识别文本的方法,那个"fi"中返回的String是"fi" 它不是一个 2 字符的字符串,而是一个单字符的字符串细绳。您可以通过复制和粘贴来重现它。现在,我认为这可能是我没有足够知识的 UTF8 编码等问题。当我尝试执行 string.replace("fi","fi") 时,Android Studio 会生成错误 unmappable character for encoding utf-8。我尝试在 google 中搜索,但它识别为常规的“fi”而不是“fi”。

有什么办法可以修复这个角色吗?

【问题讨论】:

    标签: java android ocr tess-two


    【解决方案1】:

    您可以通过在调用baseApi.setImage 之前将其列入黑名单来避免识别 连字:

    baseApi.setVariable(TessBaseAPI.VAR_CHAR_BLACKLIST, "fi");
    

    为防止 Android Studio 在您的 java 代码中引发 unmappable character 错误,请通过 Android Studio 窗口右下角附近的选择器中的choosing“UTF-8”将您的文件编码转换为 UTF-8。

    【讨论】:

    • 到目前为止,这很好:) 我知道黑名单是如何工作的,但我从未考虑过将那个角色放在那里,因为我认为它在构建时会是一个问号。
    【解决方案2】:

    这是我发现的,FWIW:字符“fi”是一个连字(更多信息:Unicode Character 'LATIN SMALL LIGATURE FI' (U+FB01)

    这是一个快速而肮脏的程序,用于查找“fi”并将其替换为任何其他字符:

    public class LigatureFI
    {
    
        static char ligature_fi = 0xFB01;
    
        public static void main(String[] args)
        {
            String sligature_fi = Character.toString(ligature_fi);
            String string = new String("fififififififififififififififi");
            System.out.println(string);
            string = string.replaceAll(sligature_fi, "FI");
            System.out.println(string);
        }
    
    }
    

    如果您的 IDE 提示 'fi' 不在 cp1252 字符集中,请另存为 UTF8。

    HTH。

    【讨论】:

    • 你的方法不行,结果是一串问号。
    • 我认为这是他的事情,因为fi 不是一个已知的角色。我假设您的替换功能不起作用,所以 fi 仍然存在,并且由于 IntelliJ 无法正确输出它,它用问号替换它。
    • 方法在我的机器上运行,结果是“FIFIFIFIFIFIFIFIFIFIFIFIFI”
    • 这很奇怪。我用 '\uFB01' 尝试了它,这是在 Java 中引用它的正确方法,但它仍然不起作用。这很奇怪,因为如果我在 IntelliJ 中复制并粘贴它,粘贴将给出“fi”字符,而不是编码,所以我知道那部分是正确的。当我尝试fi == '\uFB01' 时,它也给了我true,但是当我尝试string.charAt(0) == '\uFB01' 时,它给了我错误,即使我复制了相同的字符“fi”来制作字符串。我不确定发生了什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多