# US 8,787,698 B2 · Methods and apparatus for directional texture generation using image warping

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,787,698 B2
- Document ID: US8787698B2
- Status: Granted
- Kind: B2
- Application number: 12/858,558
- Filed: 2010-08-18
- Published: 2013-05-16
- Granted: 2014-07-22
- Earliest claimed: 0209-09-04
- Assignees: Adobe Systems Incorporated
- Applicants: Holger Winnemoeller; Simon Breslav
- Inventors: Holger Winnemoeller; Simon Breslav
- Web page: https://patentgrep.com/patent/US8787698B2

## CPC

- G06T 11/40: Filling planar surfaces by adding surface attributes, e.g. adding colours or textures
- G06F 3/0354: with detection of two-dimensional [2D] relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and apparatus for directional texture generation using image warping. An image warping directional texture generation method may, for example, be used to design hair or hairstyles. The method may obtain one or more user strokes via a provided brush or other user interface element to paint directional texture, such as hair, onto a target image. Primitives, such as strands, wisps, partings, etc., may be used to paint the directional texture. After the user applies a stroke to paint a primitive or a portion of a primitive onto the target image, the primitive may be automatically adjusted to fit the primitive to the stroke, handle distortion artifacts, and blend the primitive into the existing image. The user may continue to apply strokes until satisfied with the overall result.

## Claims

### Claim 1

A method, comprising:
obtaining input selecting one of a plurality of directional texture element primitives, a directional texture element comprising a texture that has a directional flow characteristic, and the plurality of directional texture element primitives including images of real examples of directional texture elements;
obtaining a stroke adding the selected primitive to a target image, the stroke indicating a location in the target image and an intended direction of flow for the selected primitive in the target image;
automatically adjusting the selected primitive according to the stroke; and
applying the adjusted selected primitive to the indicated location of the target image.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein the directional texture element is hair, and wherein the plurality of directional texture element primitives are hair primitives.

### Claim 3 (depends on 1)

The method as recited in claim 1, wherein the plurality of directional texture element primitives further include synthesized examples of the directional texture element.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein each directional texture element primitive in the plurality of directional texture element primitives comprises multiple atomic texture elements or two or more other directional texture element primitives.

### Claim 5 (depends on 1)

The method as recited in claim 1, further comprising applying a blending technique to at least a portion of the target image to blend the adjusted selected primitive with image data in the target image.

### Claim 6 (depends on 1)

The method as recited in claim 1, wherein said automatically adjusting the selected primitive according to the stroke comprises:
generating a grid representing the selected primitive; and
distorting the grid according to the direction of flow indicated by the stroke.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein said automatically adjusting the selected primitive according to the stroke comprises:
obtaining two or more markers along a primary axis of the selected primitive;
obtaining two or more corresponding markers along the stroke; and
deforming the primary axis of the selected primitive so that the two or more markers along the primary axis align with corresponding markers along the stroke.

### Claim 8 (depends on 1)

The method as recited in claim 1, further comprising stretching the selected primitive in at least one direction prior to said applying.

### Claim 9 (depends on 1)

The method as recited in claim 1, further comprising:
identifying one or more regions of the adjusted selected primitive that include distortion artifacts; and
replacing at least some content of the identified one or more regions with directional texture content that does not include distortion artifacts.

### Claim 10 (depends on 9)

The method as recited in claim 9, wherein said identifying one or more regions of the adjusted selected primitive that include distortion artifacts comprises determining that the one or more regions have been adjusted beyond at least one distortion threshold.

### Claim 11

A system, comprising:
at least one processor; and
a memory comprising program instructions, wherein the program instructions are executable by the at least one processor to:
obtain input selecting one of a plurality of directional texture element primitives, a directional texture element comprising a texture that has a directional flow characteristic, and the plurality of directional texture element primitives including images of real examples of directional texture elements;
obtain a stroke adding the selected primitive to a target image, the stroke indicating a location in the target image and an intended direction of flow for the selected primitive in the target image;
automatically adjust the selected primitive according to the stroke; and
apply the adjusted selected primitive to the indicated location of the target image.

### Claim 12 (depends on 11)

The system as recited in claim 11, wherein the directional texture element is hair, and wherein each directional texture element primitive in the plurality of directional texture element primitives comprises multiple hairs or two or more other directional texture element primitives.

### Claim 13 (depends on 11)

The system as recited in claim 11, wherein, to automatically adjust the selected primitive according to the stroke, the program instructions are executable by the at least one processor to:
generate a grid representing the selected primitive; and
distort the grid according to the direction of flow indicated by the stroke.

### Claim 14 (depends on 11)

The system as recited in claim 11, wherein, to automatically adjust the selected primitive according to the stroke, the program instructions are executable by the at least one processor to:
obtain two or more markers along a primary axis of the selected primitive;
obtain two or more corresponding markers along the stroke; and
deform the primary axis of the selected primitive so that the two or more markers along the primary axis align with corresponding markers along the stroke.

### Claim 15 (depends on 11)

The system as recited in claim 11, wherein the program instructions are executable by the at least one processor to:
identify one or more regions of the adjusted selected primitive that include distortion artifacts; and
replace at least some content of the identified one or more regions with directional texture content that does not include distortion artifacts.

### Claim 16

A computer-readable storage device comprising program instructions stored thereon that, responsive to execution, perform operations comprising:
obtaining input selecting one of a plurality of directional texture element primitives, a directional texture element comprising a texture that has a directional flow characteristic, and the plurality of directional texture element primitives including images of real examples of directional texture elements;
obtaining a stroke adding the selected primitive to a target image, the stroke indicating a location in the target image and an intended direction of flow for the selected primitive in the target image;
automatically adjusting the selected primitive according to the stroke; and
applying the adjusted selected primitive to the indicated location of the target image.

### Claim 17 (depends on 16)

The computer-readable storage device as recited in claim 16, wherein the directional texture element is hair, and wherein each directional texture element primitive in the plurality of directional texture element primitives comprises multiple hairs or two or more other directional texture element primitives.

### Claim 18 (depends on 16)

The computer-readable storage device as recited in claim 16, wherein, in said automatically adjusting the selected primitive according to the stroke further comprises:
generating a grid representing the selected primitive; and
distorting the grid according to the direction of flow indicated by the stroke.

### Claim 19 (depends on 16)

The computer-readable storage device as recited in claim 16, wherein, in said automatically adjusting the selected primitive according to the stroke further comprises:
obtaining two or more markers along a primary axis of the selected primitive;
obtaining two or more corresponding markers along the stroke; and
deforming the primary axis of the selected primitive so that the two or more markers along the primary axis align with corresponding markers along the stroke.

### Claim 20 (depends on 16)

The computer-readable storage device as recited in claim 16, wherein said automatically adjusting the selected primitive according to the stroke further comprises:
identifying one or more regions of the adjusted selected primitive that include distortion artifacts; and
replacing at least some content of the identified one or more regions with directional texture content that does not include distortion artifacts.
