Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/97: Рейтинг темы: голосов - 97, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 5
1

программа распознавания текста

08.07.2010, 23:13. Показов 19843. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем задача такая, нужно написать программу в которой пользователь мышкой рисует например букву А, и программа должна в текстбоксе распознать то что это буква А... Кол-во символов которое программа должна распознать достаточно и двух, тоесть можно А и Б или 1 и 2, как удобней...
Если не сложно, скиньте пожалуйста код такой или подобной программы, буду безмерно благодарен.

Добавлено через 2 минуты
Промучался с ней уже часов 10, так с места и не сдвинулся
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.07.2010, 23:13
Ответы с готовыми решениями:

Программа для распознавания лиц
Программа для распознавания лиц на C# на windows forms. Так же и авторизация.

Распознавания текста
Всем привет! Нужна ваша помощь. Меня интересует, существует синтаксический анализатор на С# ? У...

Алгоритмы распознавания текста
Здравствуйте. Я хочу реализовать распознавания текстов со скриншотов веб страниц. Раньше с...

Библиотеки для распознавания текста (OCR)
Здравствуйте, какие библиотеки можно использовать для распознавания текста?

11
Padawan
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
08.07.2010, 23:56 2
Распишите кратко, что вы сделали, на чем остановились, чтобы было проще помочь вам.
0
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 5
09.07.2010, 00:42  [ТС] 3
В том то и дело, что фактически ничего, у меня даже не получается написать программу для примитивного рисования на форме мышью
0
Padawan
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
09.07.2010, 10:14 4
Вообще ссылки кидать не положено, но вы бы поискали получше. 2 минуты поисках и у вас в руках сорсы на дельфи, думаю еще немного можно и на C# найти, в крайнем случае переписать.
0
2096 / 1261 / 171
Регистрация: 01.02.2009
Сообщений: 2,842
09.07.2010, 10:59 5
dimonchegggggg, данная задача решается с помощью нейронных сетей.

Добавлено через 30 минут
В этой теме у меня выложен пример приложения, распознающего цифры от 0 до 9: https://www.cyberforum.ru/grap... 99392.html
В этой теме есть файл - описание нейронных сетей: Нейронные сети
1
Padawan
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
09.07.2010, 11:20 6
kirill29, применение нейронных сетей в данной ветке уж больно сложно )))
Я когда то писал программу для распознавания автомобильных номеров на фотках. Алгоритм примерно следующий:
1. Находим номер на фотке.
2. Разбиваем номер на символы.
3. Символы размечаем сеткой, допустим 25 на 25. Т.е. символ заключен в прямоугольник, который разделен на 25*25 подпрямоугольников.
4. Далее проверяем какие кусочки прямоугольников закрашены не фоновым цветом.
5. Сверяем с базой заранее подготовленных шаблонов.

Прога так ни на что и не претендует, утеряна уже где-то в куче хлама, но помню что процент распознования был 50 %, потому что на фотках были тени, градиенты, фотки под углом были, здесь же все просто, всего два символа, черно белый фон.
1
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 5
09.07.2010, 16:08  [ТС] 7
Был конечно вариант и с помощью нейронных сетей, но это самый сложный вариант среди всех, примерно на словах как реализуется алгоритм я представляю, но как это реализовать в коде так и не понял.
После того как пользователь нарисовал изображение, программа разбивает его на части(линии), и проверяет каждую часть и её отклонение от первоначальных линий буквы А, которые были заданы мной, если отклонения 10-20%, то она распознает, если более то нет.
0
2096 / 1261 / 171
Регистрация: 01.02.2009
Сообщений: 2,842
09.07.2010, 16:14 8
Посмотри эту тему: https://www.cyberforum.ru/csha... 52247.html
0
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 5
11.07.2010, 11:51  [ТС] 9
Kirill29

Вы не могли бы поподробнее описать работу вашей программы которая основана на нейронных сетях, когда в поле вводил символ, выбирал картинку и нажимал "Learn", программа очень долго обучалась, может я что-то не так делал?
0
2096 / 1261 / 171
Регистрация: 01.02.2009
Сообщений: 2,842
12.07.2010, 09:11 10
dimonchegggggg, просто эту программу надо немного подкорректировать. Во время экспериментов немного загадили алгоритм обучения, и поэтому обучение идет долго.
0
153 / 113 / 25
Регистрация: 23.06.2008
Сообщений: 320
14.07.2010, 07:21 11
Лучший ответ Сообщение было отмечено как решение

Решение

Все очень просто И не нужно ничего сверх естественного придумывать. Когда то месяцев 6 назад или около того у меня возникла идея, что то подобное сделать. Много я начитался про нейронные сети и что это сложно. И однажды я наткнулся на очень интересную статью. И вы не поверите Microsoft для нас разработала такую библиотеку, а мы о ней даже ничего не знаем. А лежит она не где нибудь а в референсах->COM. И называется она Microsoft Office Document Imaging 11.0 Type Library.

Вот пример работы с этой библиотекой
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.IO;
 
namespace DevicesZx
{
    public class OCR
    {
        public static List<string> RecognizeImage(Bitmap image)
        {
            //Сохраняем файл на жесткий диск
            string path = createImageFile(image);
 
            List<string> arrayText = RecognizeImage(path);
 
            //Удаляем файл с жесткого диска
            removeImageFile(path);
 
            return arrayText;
        }
        public static List<string> RecognizeImage(string path)
        {
            List<string> array = new List<string>();
            if (File.Exists(path))
            {
                MODI.Document md;
                md = new MODI.Document();
 
                try
                {
                    md.Create(path);
                    md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);
 
                    MODI.Image image = (MODI.Image)md.Images[0];
                    MODI.Layout layout = image.Layout;
 
                    for (int i = 0; i < layout.Words.Count; i++)
                    {
                        MODI.Word word = (MODI.Word)layout.Words[i];
                        array.Add(word.Text);
                    }
                    md.Close(false);
                }
                catch (Exception ex)
                {
                }
                finally
                {
                }
            }
            return array;
        }
        private static string createImageFile(Bitmap image)
        {
            string directory = "C:\\Documents and Settings\\All Users\\";
            string path = string.Empty;
            int i = 0;
            while (true)
            {
                path = string.Format("{0}{1}.bmp", directory, i);
                if (!File.Exists(path))
                    break;
                i++;
            }
            image.Save(path);
            return path;
        }
        private static void removeImageFile(string path)
        {
            if (File.Exists(path))
            {
                File.Delete(path);
            }
        }
    }
}
И еще эта библиотека позволяет распознавать аудио файл...
3
11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
27.11.2014, 15:11 12
Цитата Сообщение от d0s'A Посмотреть сообщение
md = new MODI.Document();
выскакивает исключение "Не удалось получить фабрику класса COM для компонента с CLSID {40942A6C-1520-4132-BDF8-BDC1F71F547B} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."
Как это исправить?
0
27.11.2014, 15:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2014, 15:11
Помогаю со студенческими работами здесь

Подскажите средства для распознавания текста
Дано: 10 картинок с некоторым текстом. На 3 из них встречается фраза &quot;lorem ipsum&quot; Нужно написать...

Подскажите библиотеку для распознавания текста с экрана
Задача простая и из-за этого сложная)) Нужно считать текст со скриншота экрана. Готово все -...

Программа для распознавания капчи
Мне очень нужна программа для распознавания капчи. Я студент, учусь на программиста. Задали...

Подскажите, есть ли пакеты для распознавания текста и таблиц с текстом?
Мне нужно картинку текста перевести в сам текст, может существуют библиотеки для подобных задач....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru