Stereo vision allows computing depth from two images captured from different viewpoints. The key is measuring disparity, how much each pixel moves between the two images. Epipolar geometry constrains the possible matches. Basic stereo algorithms match pixels in conjugate epipolar lines. State-of-the-art methods formulate stereo as an energy minimization problem that balances match quality and smoothness in the depth map. Dynamic programming and graph cuts provide good approximations to solve this NP-hard problem. Structured light and laser scanning are alternatives to passive stereo that simplify correspondence.