|
Распознавание графиков. автоматизация процесса. |
|
|
|
Nov 21 2011, 17:32
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006

|
Есть несколько зависимостей, представленных в виде графиков в даташите. Требуется составить таблицу, более менее соответствующую графику. Графики достаточно сложные, простой функцией типа экспоненты не аппроксимируются. На данный момент я делаю это вручную: выкалупываю график из pdf-а, растягиваю, накладываю сетку, и по клеточкам снимаю данные в таблицу. Такой понимаешь реверс инженииринг технической документации. Занятие тупое и нудное, а качество хочеться получше, точек побольше.
Собственно не знает ли кто как это дело можно автоматизировать? Может есть такая утилитка, что ты ей bmp-шку с графиком, может несколько подсказок, и она генерит искомую таблицу?
|
|
|
|
|
 |
Ответов
(1 - 11)
|
Nov 21 2011, 18:59
|
Местный
  
Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961

|
QUOTE (Artem_Petrik @ Nov 21 2011, 20:32)  Собственно не знает ли кто как это дело можно автоматизировать? Насчёт утилиты не знаю, а если самому то, допустим график это битмэп, для простоты - чёрно-белый. Я бы придумал что-нибудь вроде цены деления пиксела по горизонтали и вертикали в качестве масштабирующего коэффициента, а дальше сканирование по столбцам пикселов, находим нижний и верхний чёрные пикселы в столбце пикселов, усредняем (с весом, если нужно), умножаем на масштаб, записываем в массив (таблицу), переходим к следующему столбцу, и т.д. пока не переберём все столбцы картинки. Если встретились столбцы без чёрных пикселов - там дырка, т.к. битмэп, скорее всего с шумом, пропускаем их. Получилась таблица кусочно-линейной аппроксимации функции (в нужном формате и масштабе) с шумом, естественно. Её можно дальше обрабатывать как хочется, гладить сплайнами, полировать, линейно интерполировать, интегрировать и т.д. Если график с осложнениями - например, неоднозначная функция типа гистерезиса или в линии графика дырка из-за шума, то такие ситуации нужно как-то учитывать и обрабатывать отдельно. Если оси повёрнуты относительно строк и столбцов пикселов, то получившуюся таблицу нужно довернуть на угол, чтобы вернуть горизонтальность абсциссам и вертикальность ординатам, при помощи известного из школы преобразования sin cos -sin cos. Должно уместится в несколько С подпрограмм...
|
|
|
|
|
Nov 21 2011, 19:23
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 13-10-06
Из: Финляндия
Пользователь №: 21 273

|
Маловероятно это всё. Координатная сетка как отсекаться будет? Не очень понятно, для чего такое вообще нужно. Пример можно?
|
|
|
|
|
Nov 21 2011, 19:35
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006

|
Цитата(vitan @ Nov 21 2011, 20:19)  Очень давно было дело, могу напутать. Есть такой софт SynaptiCAD, там есть программа для создания документации, помню, там был модуль для работы с графиками. Там можно было импортировать-экспортировать графики прямо с экрана осциллографа (нормального цифрового, ессно). И там же была экспортилка-импортилка в таблицы. Поробуйте покопать в этом направлении, может, что получится... Нет, не оно. Он и правда понимает кучу форматов, но из обычной картинки распознавать увы не умеет. Цитата(AndrewN @ Nov 21 2011, 20:59)  Насчёт утилиты не знаю, а если самому то... Боюсь написать прогу самому будет намного дольше, чем снять точки с необходимых на данный момент графиков. Конечно в перспективе это сэкономит время, но непосредственно сейчас времени нет. Собственно я кажется нашел софт, который может мне помочь: Un-Scan-It. К сжалению доступна только демо версия, которой свои графики скормить не получается. Зато имеющиеся примеры распознает на ура (кто бы сомневался  ). Буду искать дальше.
|
|
|
|
|
Nov 22 2011, 19:35
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006

|
Цитата(Alex11 @ Nov 22 2011, 00:10)  Есть еще старинная вещь r2v. Она не очень для данной задачи, но помочь может. Если надо - пришлю с таблеткой. Не для этой задачи, но очень кстати! Коллеге похоже придется переконвертить битмапку в векторное изображение для оформления передней панели. Если я правильно понял, эта утилитка сможет облегчить ему жизнь. Спасибо! Где скачать вроде нашел, но если вдруг чего - обращусь. Цитата(_pv @ Nov 22 2011, 17:14)  Спасибо! Кажется это то что надо!
|
|
|
|
|
Nov 23 2011, 17:25
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006

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

Местный
  
Группа: Участник
Сообщений: 238
Регистрация: 15-11-05
Из: Ростов-на-Дону
Пользователь №: 10 864

|
..есть вот такая программка.... ...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.
Сообщение отредактировал galya - Nov 26 2011, 07:50
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|