Computer vision meets mathematics

Turn Mathematical
Graphs Into Equations.

Upload a graph, explore its mathematical structure, and discover the function that best describes it.

Analyze a GraphFree to explore. Built for curiosity.
-6-4-2246-2-112xy0
y=sin⁡(x)y = \sin(x)
A familiar curve. A clear equation.
Sine function·Periodic·Amplitude 1
Sample preview

Graph workspace

A little image. A world of mathematics.

Runs in your browser · No sign-up
Your graph01 / INPUT

Drop your graph image here

or choose one from your device

PNG, JPG, WEBP · UP TO 10 MB

Supported families: sine, cosine, tangent, secant, cosecant, cotangent, quadratic, cubic, exponential, logarithmic. Results are limited to these; unusual, unclear or unsupported graphs may be misclassified.

or explore a sample graph

Your image is classified on your device and never uploaded. Samples use known equations.

Analysis02 / EXPLORE
FUNCTION FAMILY
Sine function
Demonstration
y=sin⁡(x)y = \sin(x)
-6-4-2246-2-112xy01.00×

A smooth, periodic wave that oscillates between −1 and 1. It passes through the origin and repeats every 2π units.

DOMAIN
R\mathbb{R}
RANGE
[−1,1][-1, 1]
PERIOD
2π2\pi
Known sample · Not a model prediction

From pixels to possibilities.

The recognition pipeline

01Upload

Start with an image of a mathematical graph. The original Python pipeline resizes it to 128 × 128 pixels and normalizes pixel values.

02Recognize

A TensorFlow / Keras convolutional neural network classifies a candidate from 10 function families. Here it runs directly in your browser.

03Explore

Uploads show the predicted family and confidence. Sample graphs plot known equations; equation parameter estimation is not included.

An EMBER portfolio project

A different way to see mathematics.

GraphCam explores how computer vision can connect the shape of a graph to its function family. The original project pairs a Python CNN with a Flask upload interface; this interactive companion brings its mathematics to life.

PythonTensorFlowKerasFlaskNumPyReactTypeScript

Uploaded images are classified by the original trained model; sample graphs use known equations.