2D convolution, cell by cell
A small numeric input on the left, a 3×3 kernel sliding over it, and the output filling in one cell at a time. The multiply-accumulate for the current window is written out in full, so the output value is never a black box.
Try this
Step through one window by hand, then switch the kernel and watch the same input produce a completely different output.
Where this lab comes from
How 2D Convolution Works on Images: Kernels, Filters, and the Math, Interactively2D convolution is the operation behind blur, sharpening, edge detection, and every CNN. Slide a kernel, multiply, sum: see it happen step by step in an interactive demo, apply real kernels to a live image, and get the math plus runnable OpenCV in Python and C++.
More in the image itself
- One colour per photosite — Throw away two thirds of the colour, then guess it back.
- Hitting the colour a meter measured — Drag the gains and watch ΔE against 22 metered patches.
- Sixteen by twelve real pixels — Hover a pixel, read its index and its three numbers.