Usually, gray-level images are arranged as two-dimensional (NxM)-matrices. Tracing its contours is a common way to obtain information about an imaged object, such as position and orientation, or for purposes of object recognition. This paper describes the generation of contour-based object descriptions by edge-detection and contour-tracing. A complex differential operator is used to detect edges in the image. In addition to the gradient, also the local orientation of edges can be computed with an accuracy of approximately 5 degree(s). This edge-oriented description, which is still arranged as a two-dimensional matrix, occupies twice as much memory as the original gray-level image (gradient plus orientation) and there is no knowledge about the course of the contour. In addition to that, in most cases this edge-oriented image is fragmentary, due to illumination restrictions and shades. For this reason the imaged contour is traced using a Kalman-filter-based algorithm. The contour tracer connects and completes these edge fragments. The algorithm is able to follow the course of a contour without any prior knowledge, even if its direction changes erratically. It has been tested successfully in several applications in industrial production testing (for example for controlling an optical range sensor of a 3-D-measurement system in assembly lines).