Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 05.06.2022
Сообщений: 4

EMGUCV. Распознавание текста c чертежа

07.06.2022, 01:00. Показов 923. Ответов 0

Студворк — интернет-сервис помощи студентам
Нашел такую программку в интернете, сделал у себя она читает текст с выбранной картинки, там где предложения и прочее все хорошо, но вот я пытаюсь прочитать текст с простого чертежа и выдает кучу знаков и неверных значений.
Я додумался до этого:
Сделать белый список для библиотеки чтобы искала только те символы которые я указал в коде.
Далеко не факт что это поможет, но попытаться стоит. подскажите что изменить в коде чтобы не подчеркивал слова красным и не выдавал ошибок в public слова подчекнул в листинге кода

Листинг
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
using Emgu;
using Emgu.CV;
using Emgu.CV.Util;
using Emgu.CV.OCR;//Двидок распоз текста
using Emgu.CV.Structure;
using Emgu.Util;
 
 
 
 
namespace Reader
{
    public partial class Form1 : Form
    {
        private string filePath = string.Empty;
        private string lang = string.Empty;
        public Form1()
        {
            InitializeComponent();
        }
 
        public static void LoadOCREngine(String dataPath)
        {
 
            //create OCR engine
            [U]Tesseract[/U] = new Tesseract(dataPath, "rus", OcrEngineMode.[U]TesseractCubeCombined[/U]);
            [U]Tesseract.SetVariable[/U]("tessedit_char_whitelist", "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦШЩЪЭЮЯ-1234567890");
        }
 
        private void окрытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult res = openFileDialog1.ShowDialog();
 
            if (res == DialogResult.OK)
            {
                filePath = openFileDialog1.FileName;
                pictureBox1.Image = Image.FromFile(filePath);
            }
            else
            {
                MessageBox.Show("Чертеж не выбран", "Необходимо выбрать Чертеж!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    
            }
        }
 
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(filePath) || string.IsNullOrWhiteSpace(filePath))
                {
                    throw new Exception("Чертеж не выбран!");   
                }    
                else if (toolStripComboBox1.SelectedItem == null)
                {
                    throw new Exception("Язык не выбран!");
                }
                else
                {
                    Tesseract tesseract = new Tesseract(@"C:\Testdata", lang, OcrEngineMode.TesseractLstmCombined);
 
                    tesseract.SetImage(new Image<Bgr,byte>(filePath));
 
                    tesseract.Recognize();
 
                    richTextBox1.Text = tesseract.GetUTF8Text();
 
                    tesseract.Dispose();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message,"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //throw;
            }
        }
 
        private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (toolStripComboBox1.SelectedIndex == 0)
                lang = "rus";
            else if (toolStripComboBox1.SelectedIndex == 1)
                lang = "eng";
        }
    }
}
Миниатюры
EMGUCV. Распознавание текста c чертежа  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.06.2022, 01:00
Ответы с готовыми решениями:

Распознавание текста Console.ReadLine()
Возникла необходимость распознавать значение текста введенного пользователем в консоль. Как объяснить машине, что &quot;привет&quot; - это...

Распознавание текста с изображений билетов Банка России
Народ, всем доброго времени суток! Имеются изображения билетов банка России, нужно считать с них все буквы и цифры. Пробую делать...

Распознавание текста EmguCV
Подскажите пожалуйста. Пытаюсь распознать текст с картинки с помощью EmguCV и tesseract. Все ок, только вот не пойму можно ли передать...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2022, 01:00
Помогаю со студенческими работами здесь

Распознавание текста
Есть картинка - на ней текст. текст не искривлен. Посоветуйте что изучить чтобы можно было написать программу которая будет распознавать...

Распознавание текста
Всем привет! стоит задача - распознавать данные с паспорта РФ (для начала Фамилия и Серия/Номер) С данной темой не работал, но очень...

Распознавание текста
Поделитесь пожалуйста примером кода бинаризации цветного изображения. Необходимо написать программу для распознавания текста под...

CV, Распознавание текста
Добрый день, пишу программку для распознавания текста по фото, в качестве способа определения выбрал сравнение с шаблоном (да, не лучший...

Распознавание текста
Приветствую, ребята. Подскажите пожалуйста с таким вопросом. Есть скан платежного документа. Необходимо распознать реквизиты. Для...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru