Photography and moviemaking have become staples in modem society. A photograph is typically a single image frame of a real scene. Movies can be described as a series of frames that together form what appears to the human eye to be a continuously moving image. Both photographs and movies are now found in both physical and digital formats.
Image processing software is currently used by millions of people worldwide to perform a variety of image processing functions, perhaps the most typical of which is manually changing colors of pixels to make the image appear more realistic. Examples include removal of “red-eye” from human subjects, and touching up of edges.
However, image processing software has heretofore been unable to accurately identify shadows in an image. Nor has it been able to accurately tie shadowed portions of an object to nonshadowed portions of the same object. As such, the ability to work with shadows in image processing software is limited and inaccurate at best.
What is therefore needed is a way to automatically and accurately identify shadows in an image, and tie shadowed portions of objects to nonshadowed portions. This would open the door for improved photo processing capabilities, and allow automation of features that now require the manual user input. Such a solution would also reduce the inherent flaws in the effects heretofore manually created by human users.
It would also be desirable to accurately remove, lighten, or darken shadows from images. Prior methods of removing or lightening shadows merely lighten the entire image, giving the image a “washed out” look. Similarly, prior methods of darkening shadows darken the entire image. These methods fail to maintain the integrity of the nonshadowed portion of the image. Accordingly, the user is often required to revert to manual tools to adjust any shadowing.