我想检查我的OCR结果(字符串)是“ No Edge”还是“ No Signal”。
问题是有时我会得到N0 Edge
,No Signa1
,N0 signa1
,No 5ignal
等。字母o
,S
,i
和l
有时可能会变成数字或其他东西。不幸的是,关于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版本。