изображение, на котором чтение текста с изображения работает
[здесь не работает]
( https://i.sstatic.net/gwYE2oBI.jpg)
Часть кода:
Код: Выделить всё
public static class Sign
{
public static void Check()
{
string imagePath = "C:/Users/User/Documents/... .bmp";
Mat imageSign = new Mat(imagePath);
int h = imageSign.Rows;
int w = imageSign.Cols;
int point1 = (int)(0.01 * w);
int point2 = (int)(0.6 * h);
int point3 = (int)(0.3 * w);
int point4 = (int)(0.9 * h);
OpenCvSharp.Point start_point = new OpenCvSharp.Point(point1, point2);
OpenCvSharp.Point end_point = new OpenCvSharp.Point(point3, point4);
imageSign = new Mat(imageSign, new OpenCvSharp.Rect(point1, point2, point3 - point1, point4 - point2));
imageSign.SaveImage(imagePath);
var pixFromFilee = Pix.LoadFromFile(imagePath);
string customConfig = "--psm 13";
using (var engined = new TesseractEngine(@"C:\Program Files\Tesseract-OCR\tessdata", "eng", EngineMode.Default))
{
engined.SetVariable("tessedit_char_whitelist", "0123456789");
using (var pagee = engined.Process(pixFromFilee, customConfig))
{
string text = page.GetText();
Console.Write(text);
string[] lines = text.Split('\n');
bool linijka = false;
foreach (string line in lines)
{
if (line.Length == 4 || line.Length == 5)
{
Console.WriteLine(" e5: ");
Console.WriteLine(line);
linijka = true;
}
if (line.Length == 1)
{
Console.WriteLine("e_:");
Console.WriteLine(line);
}
}
if (!linijka)
{
Console.WriteLine("not found e5");
}
Cv2.ImShow("final", imageSign);
Cv2.WaitKey(0);
}
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... in-c-sharp