← all repositories
wellflat/imageprocessing-labs

A computer vision playground that runs in your browser tab

Classic image processing and ML algorithms implemented in JavaScript, no GPU cluster required.

504 stars JavaScript Computer VisionML Frameworks
imageprocessing-labs
Velocity · 7d
+0.1
★ / day
Trend
steady
star history

What it does This repo is a collection of hands-on implementations for computer vision, image processing, and machine learning — all runnable in a browser or Node.js. Think FFT, stereo matching, Poisson image editing, k-means++, logistic regression, even t-SNE. There’s also a grab bag of 3D shape drawing, WebGL samples, and ONNX Runtime experiments.

The interesting bit Most of these algorithms live in Python/C++ land with heavy dependencies. Porting them to JavaScript means you can demo them instantly without installing anything. The author seems to treat this as a personal lab notebook rather than a polished framework — which is honestly the more honest approach.

Key highlights

  • Covers the classics: 1D/2D FFT, corner detection, line segment detector, image histograms
  • ML breadth: decision trees, GBDT, neural networks (denoising autoencoders), AROW, SCW
  • Oddball inclusions: fish-eye transform, Möbius strip rendering, Klein bottle — someone was having fun
  • ONNX Runtime for Web integration suggests some modern ambitions mixed in
  • MIT licensed, active since at least 2017

Caveats

  • README is a bare list with no usage examples, API docs, or installation instructions
  • “etc..” at the end of the feature list is doing a lot of heavy lifting; unclear what’s actually maintained
  • No tests, build info, or contribution guidelines visible

Verdict Grab this if you want readable JavaScript reference implementations of standard CV/ML algorithms, or if you’re building browser-based demos and need a starting point. Skip it if you need production-grade libraries with documentation — OpenCV.js and TensorFlow.js have you covered there.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.