Можно ли в С# сделать распознавание текста с экрана? - C#
Формулировка задачи:
Здравствуйте, можно ли на си шарп распознавать символы на экране компьютера, если знать приблизительное место где они находятся на активном открытом окне в win 7, из символов букв - цифр (их немного, не более 5) и размер шрифта тоже известен. Или на этом языке трудно настроить подобное распознавание? Этот язык программирования мне нравится за свою относительную простоту и хорошую русификацию, но не уверен, что он может использоваться в этом направлении. Поэтому решил спросить у знатаков. Если можно, то в какую сторону следует двигаться? Если нет, то какой язык программирования мог бы подойти?
Решение задачи: «Можно ли в С# сделать распознавание текста с экрана?»
textual
Листинг программы
using System;
using System.Drawing;
using System.Windows.Forms;
using Tesseract;
namespace WindowsFormsApplication334
{
public partial class Form1 : Form
{
private Point oldLocation;
private TesseractEngine engine;
public Form1()
{
InitializeComponent();
engine = new TesseractEngine(AppDomain.CurrentDomain.BaseDirectory, "rus");
Application.Idle += delegate
{
if(Location != oldLocation)
{
oldLocation = Location;
Recognize();
}
};
}
private void Recognize()
{
using(var bmp = new Bitmap(lbWindow.Width, lbWindow.Height))
using(var gr = Graphics.FromImage(bmp))
try
{
//capture screen
gr.CopyFromScreen(PointToScreen(lbWindow.Location), Point.Empty, lbWindow.Size);
engine.DefaultPageSegMode = PageSegMode.Auto;
//recognize
using (var page = engine.Process(bmp))
lbResult.Text = page.GetText();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}