Detection and manipulation of shadows in an image or series of images
First Claim
Patent Images
1. A method for identifying pixels in shadow in an image, comprising:
- analyzing an image for determining several properties thereof, the properties including hue (H), saturation (S), brightness (V), red color content (R), green color content (G), and blue color content (B);
creating a first histogram of H/S values calculated for each pixel in the image;
creating a second histogram of S/V values calculated for each pixel in the image;
identifying a line feature in the first histogram;
identifying a line feature in the second histogram; and
marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and computer program products that identify and allow manipulation of shadows in a still frame (photo mode), or series of frames (movie mode). Manipulation of shadows includes such things as adjustment of shadow boundaries, softening of shadow boundaries, adjustment of shadow properties, and even removal of shadows altogether.
-
Citations
37 Claims
-
1. A method for identifying pixels in shadow in an image, comprising:
-
analyzing an image for determining several properties thereof, the properties including hue (H), saturation (S), brightness (V), red color content (R), green color content (G), and blue color content (B); creating a first histogram of H/S values calculated for each pixel in the image; creating a second histogram of S/V values calculated for each pixel in the image; identifying a line feature in the first histogram; identifying a line feature in the second histogram; and marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product, comprising:
a computer readable medium having computer code thereon for processing an image, the computer code including; computer code for analyzing an image for determining several properties thereof, the properties including hue (H), saturation (S), brightness (V), red color content (R), green color content (G), and blue color content (B); computer code for creating a first histogram of H/S values calculated for each pixel in the image; computer code for creating a second histogram of S/V values calculated for each pixel in the image; computer code for identifying a line feature in the first histogram; computer code for identifying a line feature in the second histogram; and computer code for marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow.
-
9. A computer program product, comprising:
a computer readable medium having computer code thereon for processing an image, the computer code including; computer code for generating slide show and movie output; computer code for performing batch processing of an image; computer code for allowing image labeling; computer code for matching color schemes across multiple images; computer code for performing color replacement for changing a color of selected portions of an image; computer code for performing shadow and highlight correction for improving contrast of over- or under-exposed areas of an image; computer code for performing photo touch-up functions including removal of redeye, dust, scratches, blemishes, wrinkles; computer code for performing dimensional effects on an image including image wrapping, stretching, curling, and bending; computer code for removing image blurring; computer code for correcting lens distortion; computer code for image noise reduction; computer code for cropping and straightening an image; computer code for providing painting and drawing tools; computer code for addition of text and labels; computer code for manipulating shadows in an image; and computer code for identifying which pixels in an image are in shadow by determining properties of an image including hue (H), saturation (S), and brightness (V);
wherein determining which pixels of the image are in shadow further comprises creating a first histogram of H/S values calculated for each pixel in the image;
creating a second histogram of S/V values calculated for each pixel in the image;
identifying a line feature in the first histogram;
identifying a line feature in the second histogram; and
marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow.
-
10. A method for manipulating shadows of an image, comprising:
-
analyzing an image for determining several properties thereof; determining which pixels of the image are in shadow; and performing at least one of shadow boundary adjustment and shadow boundary softening of the image for a group of pixels determined to be in shadow, an outer periphery of the pixels determined to be in shadow defining the shadow boundary, wherein the properties include hue (H), saturation (S), and brightness (V); wherein determining which pixels of the image are in shadow further comprises creating a first histogram of H/S values calculated for each pixel in the image;
creating a second histogram of S/V values calculated for each pixel in the image;
identifying a line feature in the first histogram;
identifying a line feature in the second histogram; and
marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer program product, comprising:
a computer readable medium having computer code thereon for processing an image, the computer code including; computer code for analyzing an image for determining several properties thereof; computer code for determining which pixels of the image are in shadow; and computer code for performing at least one of shadow boundary adjustment and shadow boundary softening of the image for a group of pixels determined to be in shadow, an outer periphery of the pixels determined to be in shadow defining the shadow boundary, wherein the properties include hue (H), saturation (S), and brightness (V); wherein determining which pixels of the image are in shadow further comprises creating a first histogram of H/S values calculated for each pixel in the image;
creating a second histogram of S/V values calculated for each pixel in the image;
identifying a line feature in the first histogram;
identifying a line feature in the second histogram; and
marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow
-
21. A method for identifying an object in an image, comprising:
-
analyzing an image for determining several properties thereof; finding objects in the image based at least in part on the properties of the image; selecting a first object determined to be at least primarily in shadow; selecting a second object adjacent the first object; analyzing the two objects using the properties of the image for determining whether the two objects are part of a same overall object, wherein the properties include hue (H), saturation (S), and brightness (V); wherein selecting a first object determined to be at least primarily in shadow further comprises creating a first histogram of H/S values calculated for each pixel in the image;
creating a second histogram of S/V values calculated for each pixel in the image;
identifying a line feature in the first histogram;
identifying a line feature in the second histogram; and
marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A computer program product, comprising:
a computer readable medium having computer code thereon for processing an image, the computer code including; computer code for analyzing an image for determining several properties thereof; computer code for finding objects in the image based at least in part on the properties of the image; computer code for determining whether one of the objects of the image is at least primarily in shadow; computer code for selecting a first object determined to be at least primarily in shadow; computer code for selecting a second object adjacent the first object; computer code for analyzing the two objects using the properties of the image for determining whether the two objects are part of a same overall object, wherein the properties include hue (H), saturation (S), and brightness (V); wherein selecting a first object determined to be at least primarily in shadow further comprises creating a first histogram of H/S values calculated for each pixel in the image;
creating a second histogram of S/V values calculated for each pixel in the image;
identifying a line feature in the first histogram;
identifying a line feature in the second histogram; and
marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow.
-
29. A method for removing shadows from an image, comprising:
-
analyzing an image for determining several properties thereof; finding objects in the image based at least in part on the properties of the image; selecting a first object determined to be at least primarily in shadow; selecting a second object adjacent the first object, the second object not being primarily in shadow; analyzing the two objects using the properties of the image for determining whether the two objects are part of a same overall object; calculating new red (R) values for pixels in the first object based on a ratio of an average R value of the pixels in the first object to an average R value of pixels in the second object; calculating new green (G) values for pixels in the first object based on a ratio of an average G value of the pixels in the first object to an average G value of pixels in the second object; and calculating new blue (B) values for pixels in the first object based on a ratio of an average B value of the pixels in the first object to an average B value of pixels in the second object, wherein selecting a first object determined to be at least primarily in shadow further comprises creating a first histogram of H/S values calculated for each pixel in the image;
creating a second histogram of S/V values calculated for each pixel in the image;
identifying a line feature in the first histogram;
identifying a line feature in the second histogram; and
marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer program product, comprising:
a computer readable medium having computer code thereon for processing an image, the computer code including; computer code for finding objects in the image based at least in part on the properties of the image; computer code for determining whether one of the objects of the image is at least primarily in shadow; computer code for selecting a first object determined to be at least primarily in shadow; computer code for selecting a second object adjacent the first object, the second object not being primarily in shadow; computer code for analyzing the two objects using the properties of the image for determining whether the two objects are part of a same overall object; computer code for calculating new red (R) values for pixels in the first object based on a ratio of an average R value of the pixels in the first object to an average R value of pixels in the second object; computer code for calculating new green (G) values for pixels in the first object based on a ratio of an average G value of the pixels in the first object to an average G value of pixels in the second object; and calculating new blue (B) values for pixels in the first object based on a ratio of an average B value of the pixels in the first object to an average B value of pixels in the second object wherein selecting a first object determined to be at least primarily in shadow further comprises creating a first histogram of H/S values calculated for each pixel in the image;
creating a second histogram of S/V values calculated for each pixel in the image;
identifying a line feature in the first histogram;
identifying a line feature in the second histogram; and
marking pixels having an H/S value above the line feature in the first histogram and an S/V value above the line feature in the second histogram as being in shadow.
Specification