fundamentals
5 posts · browse all tags
Camera Models, End to End: Pinhole, Lens Distortion, Calibration & PnP — with OpenCV
How a 3-D point becomes a pixel and back again: the pinhole model and intrinsic matrix K, the extrinsics R|t, Brown–Conrady lens distortion (a corner can move 62 px), Zhang calibration to sub-pixel reprojection error, and solvePnP recovering a 68-px-off pose to ~0. The math, three interactive labs, and runnable OpenCV in Python and C++.
Image processing, computer vision, and computer graphics: one picture, three directions of the arrow
Three fields, one shared object — the digital image. Graphics turns a model into an image (forward), vision turns an image into a model (inverse), and image processing turns an image into a better image. Worked on a single red-ball scene, with a 1957→2026 timeline of how they split apart and re-merged.
How 2D Convolution Works on Images: Kernels, Filters, and the Math, Interactively
2D 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++.
Classification Metrics, From the Ground Up: Precision, Recall, F1, ROC and AUC
The confusion matrix and everything that falls out of it — precision, recall, F1, specificity, the precision/recall trade-off, PR and ROC curves, and AUC — built on one running toy example (a backyard cat-cam), with the equations, the intuition, and scikit-learn.
From Photons to Pixels: Image Formation and Color Spaces, with OpenCV in Python and C++
How a camera turns light into an array of numbers — projection, sampling, quantization, the Bayer sensor — and the color spaces (RGB/BGR, grayscale, HSV, YCrCb, Lab) you convert between every day. The equations, plus runnable OpenCV in both Python and C++.