Shadows are a useful source of information about object structure. Shadows cast under oblique lighting often indicate the location of the silhouette of an object. This paper describes a method for reliably detecting shadow edges corresponding to object edges. It is able to distinguish between detected edges due to shadows and those due to surface markings. The basis of the technique is to observe the differences in shadows due to changes in the direction of illumination. Analysis is further aided by a simple stereo technique that does not require a solution to the general correspondence problem. Both the multi-light source and multi-camera methods can be implemented in an extremely efficient manner.