реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Распознавание графиков. автоматизация процесса.
Artem_Petrik
сообщение Nov 21 2011, 17:32
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



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

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




Go to the top of the page
 
+Quote Post
vitan
сообщение Nov 21 2011, 18:19
Сообщение #2


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Очень давно было дело, могу напутать.
Есть такой софт SynaptiCAD, там есть программа для создания документации, помню, там был модуль для работы с графиками. Там можно было импортировать-экспортировать графики прямо с экрана осциллографа (нормального цифрового, ессно). И там же была экспортилка-импортилка в таблицы. Поробуйте покопать в этом направлении, может, что получится...
Go to the top of the page
 
+Quote Post
AndrewN
сообщение Nov 21 2011, 18:59
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



QUOTE (Artem_Petrik @ Nov 21 2011, 20:32) *
Собственно не знает ли кто как это дело можно автоматизировать?

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

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

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

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

Должно уместится в несколько С подпрограмм...
Go to the top of the page
 
+Quote Post
GinRider
сообщение Nov 21 2011, 19:23
Сообщение #4


Участник
*

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



Маловероятно это всё. Координатная сетка как отсекаться будет?
Не очень понятно, для чего такое вообще нужно. Пример можно?
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение Nov 21 2011, 19:35
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



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

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

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

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


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

Буду искать дальше.
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение Nov 21 2011, 20:41
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



Нашел бесплатную утилитку: Graph Converter Lite. Возможностей - минимум, но все же лучше чем ничего. Пока пожалуй удовлетворюсь этим.
Но если кто все же может посоветовать что-то более интеллектуальное, или вакцину для Un-scan-it, буду очень признателен, на будущее пригодится.
Go to the top of the page
 
+Quote Post
Alex11
сообщение Nov 21 2011, 22:10
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Есть еще старинная вещь r2v. Она не очень для данной задачи, но помочь может. Если надо - пришлю с таблеткой.
Go to the top of the page
 
+Quote Post
_pv
сообщение Nov 22 2011, 15:14
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Artem_Petrik @ Nov 21 2011, 23:32) *
Собственно не знает ли кто как это дело можно автоматизировать? Может есть такая утилитка, что ты ей bmp-шку с графиком, может несколько подсказок, и она генерит искомую таблицу?

Graph2digit:
http://plsoft.narod.ru/digitizer.html
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение Nov 22 2011, 19:35
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



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

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

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

Спасибо! Кажется это то что надо!
Go to the top of the page
 
+Quote Post
scifi
сообщение Nov 22 2011, 20:22
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



А я вот что на SourceForge нарыл:
Engauge Digitizer
Попробовал - понравилось. Распознаёт участки графика автоматически. Можно ставить точки вручную. В результате "полуавтоматический" режим - то, что нужно.
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение Nov 23 2011, 17:25
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



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

Да, похоже это лучшее из упомянутого здесь, спасибо.
Go to the top of the page
 
+Quote Post
galya
сообщение Nov 26 2011, 07:47
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016