Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Распознавание графиков. автоматизация процесса.
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
Artem_Petrik
Есть несколько зависимостей, представленных в виде графиков в даташите. Требуется составить таблицу, более менее соответствующую графику. Графики достаточно сложные, простой функцией типа экспоненты не аппроксимируются. На данный момент я делаю это вручную: выкалупываю график из pdf-а, растягиваю, накладываю сетку, и по клеточкам снимаю данные в таблицу. Такой понимаешь реверс инженииринг технической документации. Занятие тупое и нудное, а качество хочеться получше, точек побольше.

Собственно не знает ли кто как это дело можно автоматизировать? Может есть такая утилитка, что ты ей bmp-шку с графиком, может несколько подсказок, и она генерит искомую таблицу?




vitan
Очень давно было дело, могу напутать.
Есть такой софт SynaptiCAD, там есть программа для создания документации, помню, там был модуль для работы с графиками. Там можно было импортировать-экспортировать графики прямо с экрана осциллографа (нормального цифрового, ессно). И там же была экспортилка-импортилка в таблицы. Поробуйте покопать в этом направлении, может, что получится...
AndrewN
QUOTE (Artem_Petrik @ Nov 21 2011, 20:32) *
Собственно не знает ли кто как это дело можно автоматизировать?

Насчёт утилиты не знаю, а если самому то, допустим график это битмэп, для простоты - чёрно-белый. Я бы придумал что-нибудь вроде цены деления пиксела по горизонтали и вертикали в качестве масштабирующего коэффициента, а дальше сканирование по столбцам пикселов, находим нижний и верхний чёрные пикселы в столбце пикселов, усредняем (с весом, если нужно), умножаем на масштаб, записываем в массив (таблицу), переходим к следующему столбцу, и т.д. пока не переберём все столбцы картинки. Если встретились столбцы без чёрных пикселов - там дырка, т.к. битмэп, скорее всего с шумом, пропускаем их.

Получилась таблица кусочно-линейной аппроксимации функции (в нужном формате и масштабе) с шумом, естественно. Её можно дальше обрабатывать как хочется, гладить сплайнами, полировать, линейно интерполировать, интегрировать и т.д.

Если график с осложнениями - например, неоднозначная функция типа гистерезиса или в линии графика дырка из-за шума, то такие ситуации нужно как-то учитывать и обрабатывать отдельно.

Если оси повёрнуты относительно строк и столбцов пикселов, то получившуюся таблицу нужно довернуть на угол, чтобы вернуть горизонтальность абсциссам и вертикальность ординатам, при помощи известного из школы преобразования sin cos -sin cos.

Должно уместится в несколько С подпрограмм...
GinRider
Маловероятно это всё. Координатная сетка как отсекаться будет?
Не очень понятно, для чего такое вообще нужно. Пример можно?
Artem_Petrik
Цитата(vitan @ Nov 21 2011, 20:19) *
Очень давно было дело, могу напутать.
Есть такой софт SynaptiCAD, там есть программа для создания документации, помню, там был модуль для работы с графиками. Там можно было импортировать-экспортировать графики прямо с экрана осциллографа (нормального цифрового, ессно). И там же была экспортилка-импортилка в таблицы. Поробуйте покопать в этом направлении, может, что получится...

Нет, не оно. Он и правда понимает кучу форматов, но из обычной картинки распознавать увы не умеет.

Цитата(AndrewN @ Nov 21 2011, 20:59) *
Насчёт утилиты не знаю, а если самому то...

Боюсь написать прогу самому будет намного дольше, чем снять точки с необходимых на данный момент графиков. Конечно в перспективе это сэкономит время, но непосредственно сейчас времени нет.


Собственно я кажется нашел софт, который может мне помочь: Un-Scan-It. К сжалению доступна только демо версия, которой свои графики скормить не получается. Зато имеющиеся примеры распознает на ура (кто бы сомневался sm.gif ).

Буду искать дальше.
Artem_Petrik
Нашел бесплатную утилитку: Graph Converter Lite. Возможностей - минимум, но все же лучше чем ничего. Пока пожалуй удовлетворюсь этим.
Но если кто все же может посоветовать что-то более интеллектуальное, или вакцину для Un-scan-it, буду очень признателен, на будущее пригодится.
Alex11
Есть еще старинная вещь r2v. Она не очень для данной задачи, но помочь может. Если надо - пришлю с таблеткой.
_pv
Цитата(Artem_Petrik @ Nov 21 2011, 23:32) *
Собственно не знает ли кто как это дело можно автоматизировать? Может есть такая утилитка, что ты ей bmp-шку с графиком, может несколько подсказок, и она генерит искомую таблицу?

Graph2digit:
http://plsoft.narod.ru/digitizer.html
Artem_Petrik
Цитата(Alex11 @ Nov 22 2011, 00:10) *
Есть еще старинная вещь r2v. Она не очень для данной задачи, но помочь может. Если надо - пришлю с таблеткой.

Не для этой задачи, но очень кстати! Коллеге похоже придется переконвертить битмапку в векторное изображение для оформления передней панели. Если я правильно понял, эта утилитка сможет облегчить ему жизнь. Спасибо! Где скачать вроде нашел, но если вдруг чего - обращусь.

Цитата(_pv @ Nov 22 2011, 17:14) *

Спасибо! Кажется это то что надо!
scifi
А я вот что на SourceForge нарыл:
Engauge Digitizer
Попробовал - понравилось. Распознаёт участки графика автоматически. Можно ставить точки вручную. В результате "полуавтоматический" режим - то, что нужно.
Artem_Petrik
Цитата(scifi @ Nov 22 2011, 22:22) *
А я вот что на SourceForge нарыл:
Engauge Digitizer
Попробовал - понравилось. Распознаёт участки графика автоматически. Можно ставить точки вручную. В результате "полуавтоматический" режим - то, что нужно.

Да, похоже это лучшее из упомянутого здесь, спасибо.
galya
..есть вот такая программка....
...GetData ...http://getdata-graph-digitizer.com/ru/

Описание: Программа для оцифровки графиков и карт. Автоматическая и ручная оцифровка.
Работает с графическими файлами форматов BMP, JPEG и PCX. Позволяет сохранять рабочее
пространство и возвращаться к незавершенной работе позже. Полученные данные можно
копировать в буфер обмена (и затем вставлять например в MS Excel), или экспортировать в
форматы: DXF (AutoCAD), EPS (PostScript) и TXT (текстовый файл).


GetData 2.24 - Программа для оцифровки графиков. Если имеется график с какими-либо данными, но не сами данные, то для их получения необходимо оцифровать график. GetData позволяет сделать это, расставляя точки прямо поверх изображения и сохраняя результат в текстовый файл.
Программа работает под операционными системами Win98, WinME, Win2k, WinXP. Ссылка "загрузить" ведет на русскую версию, но с сайта разработчика можно скачать и английский вариант этой программы.
Для граждан экс-СССР программа бесплатна, но требует бесплатной регистрации подробности); остальным пользователям она обойдется в $20.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.