Original build
Completed in 2023 as a Jupyter notebook using Python, NumPy, OpenCV, scikit-image, SciPy, and Matplotlib, before generative AI coding tools were part of my workflow.
Open the notebook ↗Project 01
A camera sensor records one red, green, or blue value at each pixel. This project reconstructs the missing color information and turns the raw Bayer frame into a finished image, one inspectable stage at a time.
Live demo
The page downloads the original 8.4 MB raw frame and processes it locally. A Web Worker is a separate browser thread, so the image math can run without freezing the controls or the rest of the page.
The sensor records one color value at each pixel location.
Project notes
Completed in 2023 as a Jupyter notebook using Python, NumPy, OpenCV, scikit-image, SciPy, and Matplotlib, before generative AI coding tools were part of my workflow.
Open the notebook ↗The static page fetches the 8.4 MB raw frame, performs Bayer-aware downsampling, and runs each stage on typed arrays in a Web Worker so the interface stays responsive.
The project covers raw image representation, color reconstruction, filter tradeoffs, and translating a notebook experiment into a performant interactive tool.