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

 
 
> Распознавание графиков. автоматизация процесса.
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
 
Start new topic
Ответов
AndrewN
сообщение Nov 21 2011, 18:59
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 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



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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 14:07
Рейтинг@Mail.ru


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