Можно ли в С# сделать распознавание текста с экрана? - 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); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д