Image masks generated from local color models
AssigneeAdobe Systems Incorporated
InventorGregg D. Wilensky
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer program products, feature receiving an image mask where the image mask identifies a first opacity value of pixels in a raster image. The first opacity value ranges between a value representing foreground and a value representing background. Each pixel in the image has a color. A first boundary pixel is identified in the image. A second opacity value for the first boundary pixel is determined using a first local color model of opacity. The first local color model of opacity is determined based on the colors of the pixels in the image within a local neighborhood of the first boundary pixel.
Claims69
A computer-implemented method comprising:
- receiving an image mask, the image mask identifying a respective first opacity value for pixels in a raster image, each first opacity value ranging between a value representing foreground and a value representing background, each pixel in the image having a respective color;
- identifying a first boundary pixel in the image;
- and
- determining a second opacity value for the first boundary pixel using a first local color model of opacity, where the first local color model of opacity is a first function that determines the second opacity value based on the respective color of the first boundary pixel, where the first function is a weighted sum of products of color components of the respective color of the first boundary pixel, where the weights are determined by minimizing a second function, where the second function is based on the respective colors and the respective first opacity values of the pixels in the image within a local neighborhood of the first boundary pixel, and a smoothness constraint with respect to the second opacity value;
- wherein the determining is performed by one or more processors.
A computer-implemented method comprising:
- receiving user input identifying a plurality of pixels in an image, the image being defined by a raster of pixels, each pixel having a respective color;
- and
- while receiving the user input, performing the following actions one or more times:
- determining an image mask based on the identified pixels, where the image mask identifies a respective first opacity value for each pixel;
- identifying a boundary pixel in the image;
- determining a second opacity value for the boundary pixel using a local color model of opacity, where the local color model of opacity is a first function that determines the second opacity value based on the respective color of the first boundary pixel, where the first function is a weighted sum of products of color components of the respective color of the boundary pixel, where the weights are determined by minimizing a second function where the second function is based on the respective colors and the respective first opacity values of the pixels in the image within a local neighborhood of the boundary pixel, and a smoothness constraint with respect to the second opacity value;
- updating the image mask based on the determined opacity value for the boundary pixel;
- and
- updating a rendering of the image on a display to depict the updated image mask as the user input is being received;
- wherein the determining an image mask is performed by one or more processors.
A computer program product, encoded on a non-transitory computer-readable medium, operable to cause data processing apparatus to perform operations comprising:
- receiving an image mask, the image mask identifying a respective first opacity value for pixels in a raster image, each first opacity value ranging between a value representing foreground and a value representing background, each pixel in the image having a respective color;
- identifying a first boundary pixel in the image;
- and
- determining a second opacity value for the first boundary pixel using a first local color model of opacity, where the first local color model of opacity is a first function that determines the second opacity value based on the respective color of the first boundary pixel, where the first function is a weighted sum of products of color components of the respective color of the first boundary pixel where the weights are determined by minimizing a second function, where the second function is based on the respective colors and the respective first opacity values of the pixels in the image within a local neighborhood of the first boundary pixel, and a smoothness constraint with respect to the second opacity value.
A system comprising:
- a display device;
- a computer program product encoded on a computer-readable medium;
- one or more processors configured to execute the program product and perform operations comprising:
- receiving an image mask, the image mask identifying a respective first opacity value for pixels in a raster image, each first opacity value ranging between a value representing foreground and a value representing background, each pixel in the image having a respective color;
- identifying a first boundary pixel in the image;
- and
- determining a second opacity value for the first boundary pixel using a first local color model of opacity, where the first local color model of opacity is a first function that determines the second opacity value based on the respective color of the first boundary pixel, where the first function is a weighted sum of products of color components of the respective color of the first boundary pixel, where the weights are determined by minimizing a second function, where the second function is based on the respective colors and the respective first opacity values of the pixels in the image within a local neighborhood of the first boundary pixel, and a smoothness constraint with respect to the second opacity value.
A computer program product, encoded on a non-transitory computer-readable medium, operable to cause data processing apparatus to perform operations comprising:
- receiving user input identifying a plurality of pixels in an image, the image being defined by a raster of pixels, each pixel having a respective color;
- and
- while receiving the user input, performing the following actions one or more times:
- determining an image mask based on the identified pixels, where the image mask identifies a respective first opacity value for each pixel;
- identifying a boundary pixel in the image;
- determining a second opacity value for the boundary pixel using a local color model of opacity, where the local color model of opacity is a first function that determines the second opacity value based on the respective color of the first boundary pixel, where the first function is a weighted sum of products of color components of the respective color of the boundary pixel where the weights are determined by minimizing a second function where the second function based on the respective colors and the respective first opacity values of the pixels in the image within a local neighborhood of the boundary pixel and a smoothness constraint with respect to the second opacity value;
- updating the image mask based on the determined opacity value for the boundary pixel;
- and
- updating a rendering of the image on a display to depict the updated image mask as the user input is being received.
A system comprising:
- a display device;
- a computer program product encoded on a computer-readable medium;
- one or more processors configured to interact with the display device and to execute the program product and perform operations comprising:
- receiving user input identifying a plurality pixels in an image presented on the display device, the image being defined by a raster of pixels, each pixel having a respective color;
- and
- while receiving the user input, performing the following actions one or more times:
- determining an image mask based on the identified pixels, where the image mask identifies a respective first opacity value for each pixel;
- identifying a boundary pixel in the image;
- determining a second opacity value for the boundary pixel using a local color model of opacity, where the local color model of opacity is a first function that determines the second opacity value based on the respective color of the first boundary pixel, where the first function is a weighted sum of products of color components of the respective color of the boundary pixel, where the weights are determined by minimizing a second function where the second function is based on the respective colors and the respective first opacity values of the pixels in the image within a local neighborhood of the boundary pixel and a smoothness constraint with respect to the second opacity value;
- updating the image mask based on the determined opacity value for the boundary pixel;
- and
- updating a rendering of the image on a display to depict the updated image mask as the user input is being received.
Dependencies are inferred from the claim text.