|
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 15
|
||||||
Opencv распознает числа с ошибками. Как поднять точность?25.02.2021, 14:53. Показов 7778. Ответов 19
Здравствуйте! Прошу навести на путь к решению проблемы или подсказать может я совсем далек от решения. Имеется задача: с блока питания с цифровым дисплеем получить значение дисплея в opencv python в режиме реального времени. Сейчас я имею кадры с видеопотока каждую секунду, с этого изображения с помощью tesseract получаю значения дисплея. Но значения оооочень значительно не совпадают с картинкой (например вместо 108 получаю просто 1 или 08 или 168 и тп). Как поднять точность? Буду благодарен в решении проблемы. Прошу прощения за кашу в коде.
имеется код:
0
|
||||||
| 25.02.2021, 14:53 | |
|
Ответы с готовыми решениями:
19
Как opencv, распознаёт точки на лице человека? OpenCV как поднять FPS Как задать точность числа |
|
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
|
||||||
| 25.02.2021, 15:31 | ||||||
|
Adel1994, Лень читать твой код, сравни с моим, у меня была таблица с числами и я с помощью тесеракта и opencv распознавал их
1) Особенно обрати внимание на config='outputbase digits' 2) И на cv2.resize(img, None, fx=1.2, fy=2) # Увеличение изображения в 9 раз Второе в моём случае не особо помогало, мб тебе поможет Отпиши как сделаешь, интересно
Ещё читал что лучше чтобы текст был чёрным а фот белым
1
|
||||||
|
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 15
|
|
| 25.02.2021, 16:32 [ТС] | |
|
RSAX, как Вы и говорили, 2 случай особо не помогает (необходимо варьировать коэф для разных скринов и иногда все равно не видит некоторые цифры). В первом же случае дает примерно те же результаты, что были у меня (путаются с другими и иногда не обнаруживаются цифры). Прикладываю скрины. Также попробовал сменить фон.
0
|
|
|
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 15
|
|
| 25.02.2021, 16:39 [ТС] | |
|
RSAX, как Вы и говорили, 2 случай особо не помогает (необходимо варьировать коэф для разных скринов и иногда все равно не видит некоторые цифры). В первом же случае дает примерно те же результаты, что были у меня (путаются с другими и иногда не обнаруживаются цифры). Прикладываю скрины. Также попробовал сменить фон.
0
|
|
|
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
|
||||||
| 25.02.2021, 16:43 | ||||||
|
Adel1994, хмм ещё из пассивного могу предложить поменять язык тесеракта, но для этого надо заново его ставить и все языки скачивать, по умолчанию у тебя анг, но для каждого языка делались разные датасеты, мб есть язык где именно под такие цифры подходит
Если не поможет то только работа с входным фото, стараться сделать его границы более чёткими
1
|
||||||
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,752
|
|
| 25.02.2021, 18:38 | |
|
Adel1994,
1. Попробуйте сделать инверсию. Tesseract расчитан на распознавание печатных текстов, а там фон светлый, а символы темные. 2. Tesseract и распознавание в реальном времени несовместимы скорее всего. 3. Выложите видеофайл для тестов.
1
|
|
|
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 15
|
|
| 25.02.2021, 21:11 [ТС] | |
|
RSAX, добавив языки вполне увеличился процент сходимости. Уже примерно половину из значений считывает верно. Причем используя разные языки распознаются разные значения.
u235, прикрепляю уже обрезанный видеофайл output. Также прикрепил архив изображений для тестов. Как думаете может попробовать написать свой словарь tesseract и обучить его? Или уйти от tesseract и изучить более подходящие библиотеки?
0
|
|
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,752
|
||||||
| 26.02.2021, 06:41 | ||||||
|
Adel1994,
1. Предобработка. Перевод в оттенки серого COLOR_BGR2GRAY неоптимален с точки зрения подавления ореола вокруг цифр. А вот если взять зеленый канал, то цифры получаются четкими, без ореола и дальнейшая обработка билатеральным фильтром не нужна.
3. Глобальное решение проблемы: заменить вольтметр на такой же только с RS-485
1
|
||||||
|
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
|
|
| 26.02.2021, 08:55 | |
|
u235, А если попробовать разделить кадр на сегменты где 1 цифра 1 сегмент, и дальше обучить через каскад хаара(минут 30 займёт)?
1
|
|
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,752
|
|
| 26.02.2021, 09:34 | |
|
RSAX, думаю это тоже вариант рабочий, но я хочу немного по другому сделать: дилатацией выделить разряды (намеренно не называю их сегментами чтобы не возникло путаницы с сегментами 7ми сегментного индикатора). А затем найти количество и положение горизонтальных и вертикальных сегментов в разряде. Например, 4 вертикальных и 3 горизонтальных - цифра 8.
1
|
|
|
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
|
|
| 26.02.2021, 10:02 | |
|
u235, Хмм да, не плохо, такое можно сделать даже с помощью встроенного поиска контуров в OpenCV, нужно всего немного увеличить фото, а дальше по двум координатам бокса понять вертикаль это или горизонталь
1
|
|
|
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
|
||
| 26.02.2021, 10:36 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 15
|
|
| 26.02.2021, 10:58 [ТС] | |
|
RSAX, u235, Nick07, все, что Вы написали перепробую. Отпишусь о результатах! Ну кроме RS-485)
0
|
|
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,752
|
|
| 26.02.2021, 13:05 | |
|
RSAX, я контуры без необходимости стараюсь не использовать. Использую Connected Component whith stats.
Nick07, зачем поворот? Тут лучше тогда уж аффинное преобразование типа сдвига. Чтобы сделать сегменты ортогональными.
1
|
|
|
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
|
|
| 26.02.2021, 14:15 | |
|
0
|
|
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,752
|
|
| 27.02.2021, 23:39 | |
|
Adel1994, Сделал, но не полностью, нужно еще доделать логику разделения цифр 2,5,3 и 6,9.
Но все почти в реалтайме. ![]() результат в архиве:
1
|
|
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,752
|
||||||
| 28.02.2021, 14:20 | ||||||
Сообщение было отмечено Adel1994 как решение
Решение
Доделал:
скрипт Кликните здесь для просмотра всего текста
результат в архиве:
0
|
||||||
|
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 15
|
|
| 01.03.2021, 09:08 [ТС] | |
|
u235, Nick07, RSAX, всем спасибо огромное!
1
|
|
|
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
|
|
| 01.03.2021, 14:18 | |
|
Adel1994, Получилось? Код u235 использовал?
0
|
|
|
1 / 1 / 0
Регистрация: 25.02.2021
Сообщений: 15
|
|
| 01.03.2021, 14:30 [ТС] | |
|
RSAX, да!
0
|
|
| 01.03.2021, 14:30 | |
|
Помогаю со студенческими работами здесь
20
OpenCV в Python не распознает лица вместе с глазами на видео. Или глаза, или ничего, третьего не дано
Перевести десятичные числа X и Y в двоичную сс (точность перевода – 10 цифр в мантиссе нормализованного числа) Не распознает дробные числа Не распознает дробные числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|