A video data acquisition system includes a vision system having a video camera for taking pictures of articles. The video acquisition system is adapted to acquire, digitize and select signals within a predetermined amplitude range as representations of pixels of the images of the pictures arranged in rows, columns and diagonal lines, and further adapted to provide a total count of pixels in rows, columns and diagonal lines. A hand-held application module for directing the operation of the vision system has teaching capabilities in conjunction with the system for causing the video camera to take repeated pictures of an article within its field of view in various positions to provide identity of the article. The video acquisition system includes means for computing the area and perimeter of the article and for computing the maximum moments and minimum moments, thereby providing an identification of the article and its orientation.
A method and system are provided for automatically locating an object at a vision station by performing an edge-detecting algorithm on at least a portion of the gray-scale digitized image of the object. Preferably, the algorithm comprises an implementation of the Hough transform which includes the iterative application of a direction-sensitive, edge-detecting convolution to the digital image. Each convolution is applied with a different convolution mask or filter, each of which is calculated to give maximum response to an edge of the object in a different direction. The method and system have the ability to extract edges from low contrast images. Also, preferably, a systolic array processor applies the convolutions. The implementation of the Hough transform also includes the steps of shifting the resulting edge-enhanced images by certain amounts in the horizontal and vertical directions, summing the shifted images together into an accumulator buffer to obtain an accumulator image and detecting the maximum response in the accumulator image which corresponds to the location of an edge. If the object to be found is permitted to rotate, at least one other feature, such as another edge, must be located in order to specify the location and orientation of the object. The location of the object when correlated with the nominal position of the object at the vision station provides the position and attitude of the object. The resultant data may be subsequently transformed into the coordinate frame of a peripheral device, such as a robot, programmable controller, numerical controlled machine, etc. for subsequent use by a controller of the peripheral device.
An image data processing method for restoring an image worsened by non-linear characteristics of a transforming system, noises and others is disclosed, by which a quantity called energy function, in which the noises and others described above are taken into consideration, is defined, and treatments for modifying stochastically the value of the gray level of each of the pixels are repeated so that a probability determined by this energy function is made greatest and the function E({x.sub.i,j }) represented by the following equation is adopted for the energy function stated above; ##EQU1## where x.sub.k,l is the value of the gray level of the group of pixels directly adjacent to the sides of the object pixel x.sub.i,j ; y.sub.i,j is the value of the gray level at that time of the object pixel; f(x.sub.i,j) is the value corresponding to the true gray level of the object pixel obtained through the transformation system for transforming image signals into a first image data; and .alpha. is a coefficient.
A method and apparatus for determining a predominant angle of orientation of an image with respect to a reference angle. A file of picture elements is generated which depicts the image with respect to the reference angle. The picture elements are projected onto a plurality of contiguous segments of imaginary lines at selected angles across the file. Each imaginary line is perpendicular to its associated direction of projection. The number of picture elements that fall into the segments for each projection are counted. An enhancement function is applied to the segment counts of each projection. The projection that generates the largest value of the enhancement function defines the angle of orientation of the image. The position of a document scanner or the document itself may be rotated to compensate for the detected skew.
A system and method that enhance edges in images by detecting and correcting edges of the components of the image, such as the luma and the chroma components. The luma and the chroma edges may be corrected to align with one another. The luma edge detection may utilize a combination of the first and second derivatives of luma. The chroma edges may be sharpened by adjusting the saturation of the chroma components, without changing the hue. The luma edges may be corrected using a blend of peaking and enhancing the luma edges. The corrected chroma and luma components may be then debugged and the appropriate corrected components may be sent to display. Chroma/luma edge alignment may utilize a product of the luma first and second derivatives.
A telerobotic system adapted for tracking and handling a moving object comprises a robot manipulator, a video monitor, an image processor, hand controls and a computer. The robot manipulator comprises a movable robotic arm having an effector for handling an object, a drive system for moving the arm in response to arm input signals, sensors for sensing the position of the arm and for generating arm output signals which characterize the dynamic motion behavior of the arm, and a vid=eo camera carried by the arm. The camera responds to motion of the moving object within the field of view of the camera. The video monitor receives an input video signal from the video camera, for displaying an image of the object to a human operator. The image processor is responsive to the output signal of the camera, and is capable of acquiring and pre-processing an image of the object on a frame by frame basis. The hand control is capable of generating a hand control output signal in response to input from a human operator. The computer generates arm input signals and is disposed between the hand control means, the robot manipulator, and image processor. The computer receives (i) output signals from the image processor and (ii) the arm output signals and (iii) the hand control output signal and generates arm input signals in response to the received signals whereby the arm tracks the motion of the object.