Before Sobel, before Scharr, there was Roberts — 1963, just four numbers in a 2×2 square. Prewitt followed a few years later with a simpler cousin of Sobel. This lab is the family reunion: two historical operators on their own terms, then all four gradient operators you've now met, side by side in one chart.
Roberts only looks at a 2×2 square — no centre pixel, no averaging, just two diagonal subtractions. Click anywhere to see exactly which four pixels it used.
The original. 2×2, diagonal only, 4 multiplications. No centre pixel exists in a 2×2 grid — every "pixel" is really a corner. Extremely fast, extremely sensitive to single-pixel noise.
Moved to 3×3 with a true centre. Equal row weights (1,1,1) treat every row the same — simple to compute, slightly less accurate than what came next.
Weighted rows (1,2,1) give the immediate neighbour more influence than the corner. Became the default because it's a good accuracy/cost balance.
Weights (3,10,3) chosen specifically to optimise rotational symmetry — see Lab 10's radar chart, and this lab's 4-way version, for the payoff.
You need to detect edges on a microcontroller with almost no compute budget — every multiplication counts. Which operator gives usable edges for the least arithmetic?