CruxBit
Back to catalog

Principal Component Analysis Demo for Image Compression

Added Jun 2025 3 design docs

Principal Component Analysis is usually introduced as abstract linear algebra, but applied to images it becomes something anyone can see: keep the top components and the picture survives, discard too many and it dissolves into blur. This project uses that visual payoff to teach dimensionality reduction properly. The intern builds a Streamlit application where users upload an image and compress it with PCA from scikit-learn, using a slider to control how many principal components are retained. The app reconstructs the image live at each setting, displays it beside the original, and reports the explained variance and effective storage reduction, with NumPy handling the underlying matrix operations. Watching image quality degrade as components drop out gives users a direct feel for what variance retention actually means, and for the trade-off between compression and fidelity. Through building the tool the intern learns the mechanics of PCA — projections, components, and reconstruction — deeply enough to implement rather than merely describe them, and gains practice turning a mathematical technique into an interactive demonstration, the kind of artifact that shows genuine understanding in a portfolio.

Related projects

You might also like