Identifying selected pixels in a digital image
First Claim
1. A method, comprising:
- for each pixel reference point in a digital image that includes a plurality of pixels, setting one or more pixel state flags to indicate which of one or more pixels in a pixel field adjacent to the pixel reference point is selected, there being a set of pixel state flags associated with each pixel reference point, wherein when four pixels are in the pixel field adjacent to the pixel reference point, the pixel state flags associated with the pixel reference point include an upper right flag indicating whether a pixel above and right of the pixel reference point is selected, a lower right flag indicating whether a pixel below and right of the pixel reference point is selected, an upper left flag indicating whether a pixel above and left of the pixel reference point is selected and a lower left flag indicating whether a pixel below and left of the pixel reference point is selected, the setting of the one or more pixel state flags being controlled by a processor;
traversing the pixel state flags to determine a location for a selected pixel identifier that encompasses one or more sets of selected pixels;
wherein setting the one or more pixel state flags includesdetermining the sets of pixel state flags associated with each of a first lineal grouping of pixel state flags, and for each set of pixel state flags associated with an adjacent lineal grouping of pixel state flags, setting at least half of the set of pixel state flags by performing a bit shift operation on at least one of the upper right flag, the lower right flag, the upper left flag or the lower left flag of an adjacent set of pixel state flags, the adjacent set of pixel state flags being adjacent to the set of pixel state flags being set and the adjacent set of pixel state flags being one of the first lineal grouping of pixel state flags;
rendering the selected pixel identifier on a display device.
2 Assignments
0 Petitions
Accused Products
Abstract
The present application provides for accurately identifying a selection of pixels in a digital image. A pixel edgewalk procedure utilizes pixel reference points situated around a pixel, such as at pixel vertices, to determine where to draw an outline to encompass selected pixels. Each pixel reference point is represented by one or more bits in memory that indicate certain information about each particular pixel reference point and pixels surrounding the pixel reference point. Utilizing this information, a determination is made as to where an outline can be drawn according to certain pixel reference points to encompass only pixels that are selected pixels. Resource overhead for determining bit settings for some pixel reference points is reduced by utilizing a bit-wise shift in memory bits allocated to an adjacent pixel reference point.
-
Citations
28 Claims
-
1. A method, comprising:
-
for each pixel reference point in a digital image that includes a plurality of pixels, setting one or more pixel state flags to indicate which of one or more pixels in a pixel field adjacent to the pixel reference point is selected, there being a set of pixel state flags associated with each pixel reference point, wherein when four pixels are in the pixel field adjacent to the pixel reference point, the pixel state flags associated with the pixel reference point include an upper right flag indicating whether a pixel above and right of the pixel reference point is selected, a lower right flag indicating whether a pixel below and right of the pixel reference point is selected, an upper left flag indicating whether a pixel above and left of the pixel reference point is selected and a lower left flag indicating whether a pixel below and left of the pixel reference point is selected, the setting of the one or more pixel state flags being controlled by a processor; traversing the pixel state flags to determine a location for a selected pixel identifier that encompasses one or more sets of selected pixels; wherein setting the one or more pixel state flags includes determining the sets of pixel state flags associated with each of a first lineal grouping of pixel state flags, and for each set of pixel state flags associated with an adjacent lineal grouping of pixel state flags, setting at least half of the set of pixel state flags by performing a bit shift operation on at least one of the upper right flag, the lower right flag, the upper left flag or the lower left flag of an adjacent set of pixel state flags, the adjacent set of pixel state flags being adjacent to the set of pixel state flags being set and the adjacent set of pixel state flags being one of the first lineal grouping of pixel state flags; rendering the selected pixel identifier on a display device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system, comprising:
-
a processor; a digital image stored in memory, the digital image including multiple pixels; the processor operating with the memory to provide; a pixel selection module configured to select one or more pixels in the digital image; a plurality of pixel state flags stored in memory; a pixel selection identification module configured to; configure a set of pixel state flags for each of a plurality of pixel reference points in the digital image to indicate which pixels associated with the pixel reference points are selected, wherein when four pixels are associated with a first pixel reference point, the pixel state flags associated with the first pixel reference point include an upper right flag indicating whether a pixel above and right of the pixel reference point is selected, a lower right flag indicating whether a pixel below and right of the pixel reference point is selected, an upper left flag indicating whether a pixel above and left of the pixel reference point is selected and a lower left flag indicating whether a pixel below and left of the pixel reference point is selected, wherein configuring the sets of pixel state flags further comprises determining the sets of pixel state flags associated with each of a first lineal grouping of pixel state flags, and for each set of pixel state flags associated with an adjacent lineal grouping of pixel state flags, configuring at least half of the set of pixel state flags by performing a bit shift on a configuration stored for a previously configured set of pixel state flags, performing the bit shift including bit shifting at least one of the upper right flag, the lower right flag, the upper left flag or the lower left flag of the previously configured set of pixel state flags, the previously configured set of pixel state flags being adjacent to the set of pixel state flags being configured and the previously configured set of pixel state flags being one of the first lineal grouping of pixel state flags; and scan the sets of pixel state flags to determine where a selected pixel identifier will encompass all of a group of contiguous selected pixels. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. One or more computer storage media containing computer-executable instructions that, when executed on a computer, perform the following steps:
-
identifying a plurality of pixel reference points in a digital image having multiple pixels, each pixel reference point corresponding to one or more of the pixels; associating a memory value with each pixel reference point, each memory value denoting which of one or more pixels adjacent to a corresponding pixel reference point are selected, the memory value including a set of pixel state flags to indicate which of one or more pixels in a pixel field adjacent to the pixel reference point is selected, wherein when four pixels are in the pixel field adjacent to the pixel reference point, the set of pixel state flags associated with the pixel reference point includes an upper right flag indicating whether a pixel above and right of the pixel reference point is selected, a lower right flag indicating whether a pixel below and right of the pixel reference point is selected, an upper left flag indicating whether a pixel above and left of the pixel reference point is selected and a lower left flag indicating whether a pixel below and left of the pixel reference point is selected, wherein associating the memory value includes; determining the sets of pixel state flags associated with each of a first lineal grouping of pixel state flags, and for each set of pixel state flags associated with an adjacent lineal grouping of pixel state flags, setting at least half of the set of pixel state flags by performing a bit shift operation on at least one of the upper right flag, the lower right flag, the upper left flag or the lower left flag of an adjacent set of pixel state flags, the adjacent set of pixel state flags being adjacent to the set of pixel state flags being set and the adjacent set of pixel state flags being one of the first lineal grouping of pixel state flags; scanning the memory values to determine a border of at least one group of contiguous selected pixels; and identifying a single unselected pixel surrounded by selected pixels and selecting the unselected pixel. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification