В работе у нас около 17000 изображений кодов, нам нужно проверять на наличие ошибок. Поэтому мне сказали создать программу, которая обнаруживает эти ошибки (например, на одном из этих изображений есть ⬜, потому что что-то пошло не так при создании изображения).
Я использую Tesseract для C# отсканировать текст из изображений и проверить наличие таких квадратов. Я внес в белый список каждую заглавную букву, каждое число,> и <, а также ⬜-квадрат. </p>
static string OcrDoYourThing(Image ImgPath)
{
var imgsource = new Bitmap(ImgPath);
var tessdata = Environment.CurrentDirectory + "\\Images";
var filter = "ABCDEFGHIJKLMNOPQRSTUVWXYZ<>1234567890□⬜";
var ocrtext = string.Empty;
using (var engine = new TesseractEngine(tessdata, "en", EngineMode.Default))
{
engine.SetVariable("tessedit_char_whitelist", filter);
using (var img = PixConverter.ToPix(imgsource))
{
using (var page = engine.Process(img))
{
ocrtext = page.GetText();
}
}
}
return ocrtext;
}
Но когда есть изображение с таким квадратом, Tesseract распознает его как «D», или "EI". Например, текст на изображении "⬜> 12345ABCDE" <<<< "определяется как" D> 12345ABCDE "<<<<" или "EI> 12345ABCDE" <<<< "</p>
Есть ли обученная версия engli sh, которая может определять эти квадраты?