Имея график формулы, как я могу найти ее формулу?
Нужно ли мне OCR или что-то в этом роде?
Имея график формулы, как я могу найти ее формулу?
Нужно ли мне OCR или что-то в этом роде?
В целом вам нужно:
определить положение графика (ограничивающий прямоугольник) на изображении
вы обычно ищете прямоугольную область (обычно черного цвета)
извлечь/ввести масштабы графика
либо введите их пользователем, либо прочитайте через OCR (как вы предложили). Значения шкалы и единицы измерения обычно располагаются по осям x,y ограничивающей рамки графика. Вам нужно найти как минимум 2 отдельные точки на оси, чтобы сформировать преобразование из пикселей в единицы. В случае нелинейных масштабов вам нужно иметь больше точек для обнаружения логарифмических и т. д. масштабов...
извлекать точки графика
кривая графика обычно имеет другой цвет или ширину штриха, поэтому извлечь все точки должно быть относительно легко. Сформируйте список точек (в случае функции, отсортированной по x).
применить аппроксимацию кривой к точкам из #3
существует много подходов... можно использовать кусочную интерполяцию, кусочную аппроксимацию БЕЗЬЕ/СПЛАЙН, интерполяционные полиномы (Лагранжа...) или FFT/DCT (синусоидальные волны). Для поиска аппроксимации несложных фигур будет достаточно минимизации расстояния между точками и вычисляемого многочлена. Этот шаг в основном зависит от того, какая точность, форма выходной функции, время выполнения вам нужны.
Трудно быть более конкретным, поскольку вы не предоставили никаких подробностей.
Поиск математического алгоритма, который соответствует вводу и выводу вместе, может немного помочь.