0
私はOCRプログラムに取り組んでいます。その中にテキストが入っている写真(この場合は運転免許証)と、最初の名前と最後のもの名前を引数として使用します。C#同じような針をhaystackで探している(OCRの場合)
ソフトウェアがID写真を読み取ると、認識されたテキストの姓と名を検索します。残念なことに、画質がかなり低くなる可能性があるため、の名前が正しく表示されないことがあります。
干し草の中に似た針を探す方法はありますか?つまり、名字に似た出現を探しますか?例:
Needle: campbell
Haystack:
operaioxsllcence
gcltdriver
exries13NOV2020
carnpbeiljtttj
...
「carnpbeil」の文字列は十分に近いです。
これは私が今使っているもので、それだけで非常に特定の状況で役立ちます。
private bool SourceContains(string haystack, string needle)
{
bool ret = false;
if (haystack.Contains(needle) ||
haystack.Replace("l", "i").Contains(needle) ||
haystack.Replace("i", "l").Contains(needle) ||
haystack.Replace("0", "o").Contains(needle) ||
haystack.Replace("o", "0").Contains(needle) ||
haystack.Replace("j", "d").Contains(needle) ||
haystack.Replace("d", "j").Contains(needle) ||
haystack.Replace("i", "j").Contains(needle) ||
haystack.Replace("j", "i").Contains(needle) ||
haystack.Replace("e", "f").Contains(needle) ||
haystack.Replace("f", "e").Contains(needle) ||
haystack.Replace("r", "p").Contains(needle) ||
haystack.Replace("p", "r").Contains(needle) ||
haystack.Replace("s", "r").Contains(needle) ||
haystack.Replace("r", "s").Contains(needle) ||
haystack.Replace("r", "n").Contains(needle) ||
haystack.Replace("n", "r").Contains(needle) ||
haystack.Replace("k", "n").Contains(needle) ||
haystack.Replace("n", "k").Contains(needle) ||
haystack.Replace("h", "n").Contains(needle) ||
haystack.Replace("n", "h").Contains(needle) ||
haystack.Replace("k", "ll").Contains(needle) ||
haystack.Replace("ll", "k").Contains(needle) ||
haystack.Replace("ci", "d").Contains(needle) ||
haystack.Replace("d", "ci").Contains(needle) ||
haystack.Replace("cl", "d").Contains(needle) ||
haystack.Replace("d", "cl").Contains(needle) ||
haystack.Replace("m", "in").Contains(needle) ||
haystack.Replace("in", "m").Contains(needle) ||
haystack.Replace("rn", "m").Contains(needle) ||
haystack.Replace("m", "rn").Contains(needle)
)
{
ret = true;
}
return ret;
}
残念ながら、検出された単語が正しく分割されないことがあります。私が示した例のように、 "carnpbeil"はCampbell(LOOKも同じ)にマッチしますが、 "word"は "carnpbeiljtttj"です。 私がこれを改善する唯一の方法は、送信された画像の品質を向上させることだと思います。 –