1. A machine vision system comprising: a first image capture device configured to image a first portion of a target surface from a first viewpoint; a second image capture device configured to image a second portion of the target surface from a second viewpoint, wherein the first portion of the target surface at least partially overlaps the second portion of the target surface; a machine vision processor connected to the first image capture device and the second image capture device, the machine vision processor configured to: acquire a first image of the target surface from the first image capture device; acquire a second image of the target surface from the second image capture device; rectify the first image to form a first rectified image and rectify the second image to form a second rectified image; retrieve a disparity field that provides mappings from a first plurality of coordinates in the first rectified image to a second plurality of coordinates in the second rectified image; generate difference data by applying one or more difference functions to a first plurality of image elements in the first rectified image and a corresponding second plurality of image elements in the second rectified image, wherein a correspondence between an element of the first plurality of images and an element of the second plurality of images is based on the disparity field, and wherein the difference function is a function for determining a difference in pixel values, including at least one of: a difference in grey scale values, a difference in hue values, a difference in gradient values, or a difference in reflectance values; and determine a presence or an absence of an object on the target surface based on the difference data by applying a filtering algorithm to the difference data, the filtering algorithm comprising setting the plurality of difference values to zero if the plurality of difference values are below a threshold.