我想检查我的OCR结果(字符串)是“ No Edge”还是“ No Signal”。

问题是有时我会得到N0 EdgeNo Signa1N0 signa1No 5ignal等。字母oSil有时可能会变成数字或其他东西。不幸的是,关于OCR,我无能为力。

目前,我正在这样做:

ocrResult = ocrResult.ToLower();
if (ocrResult.Contains("edg") || ocrResult.Contains("gna"))
{
    //no edge or no signal
}

else
{
    //Not no edge or no signal
}


能否请您提出一种更明智的方法?

最佳答案

有一个名为Simila的库专门用于以下情况:

在Simila中,您可以这样做:

// A similarity engine which accepts similar if similarity is more than 70%
var simila = new Simila() { Treshold = 0.7 };

if (simila.AreSimilar(ocrResult, "No Edge") || simila.AreSimilar(ocrResult, "No Signal"))
{
    // ...
}


这里提供了Simila的简单文档:

https://github.com/mehrandvd/Simila/wiki

仅供参考,我正在研究中,它仍处于测试版。让我知道早期版本是否对您有帮助,因此我可以为您创建早期Beta版本。

10-03 01:13