This invention relates generally to computer graphics, and more particularly to the use of a computer to perform various color processing operations, such as those collectively known as recoloring operations.
Digital computers have long been used for processing color images to perform general editing operations and/or add special effects. As the average processing power of home computers has increased tremendously in comparison with conventional mainframe and workstation computers over the last decade or so, computer graphics software applications with significantly improved color processing features have become increasingly popular. For instance, a user may use a digital camera to capture a digital color picture, edit the picture by performing compositing, morphing, or various other computer graphics operations involving color processing, and display or print out the edited color picture. The effective use of color graphics has also become an important aspect of computer user interface for operating systems, computer applications, as well as the designs of Web pages for the World-Wide Web (WWW) on the Internet.
When a color image is imported to a computer from a source, which may be for example an input device such as a digital camera, it is often desirable or necessary to edit the color image by performing processing steps commonly known as xe2x80x9crecoloringxe2x80x9d operations. The recoloring operations include, for example, color key, various transformations in the color space, gamma correction, contrast adjustment, etc. The recoloring operations often also include a transformation of the processed color image into the color format of an output device for displaying or printing the processed color image.
Conventionally, the recoloring functions are often provided by a computer graphics software product in the form of various xe2x80x9cfilters.xe2x80x9d To recolor a color image, the user typically has to select and apply individual filters to the image one at a time. The order in which the filters are applied to the color image is often arbitrary, and such a recoloring process is often tedious and time consuming. Recently, it has been recognized that recoloring is a key feature in the communication and reproduction of computer graphics for future generations of software products. There is therefore a need for an optimized yet flexible way to perform recoloring operations on color objects.
In view of the foregoing, the present invention provides a system and method for recoloring color objects that applies selected color operations in a pipelined manner to provide improved performance and quality of color processing. The color processing operations in the recoloring sequence include a transformation by a five-by-five (5xc3x975) matrix that handles various types of transformations in the color space of the color object, a gamma correction operation, a bi-level thresholding operation, and a conversion into the color space of an output device, such as the CMYK space. Each of these operations in the xe2x80x9cpipelinedxe2x80x9d recoloring sequence may be selectively activated or deactivated depending on the attributes of the color object being processed and the effect of color processing to be achieved. This recoloring operation sequence takes advantage of the inherent structures contained in the steps to combine them in an optimal order that can be tailored to support various processing tasks.
In accordance with a feature of the invention, the transformation with the 5xc3x975 matrix in the recoloring sequence allows various operations, such as rotation, scaling, translation, shearing, and perspective operations in the color space of the color object to be combined in a single step. As a result, these color operations can be performed much more efficiently and are less prone to errors.
Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments, which proceeds with reference to the accompanying figures.