# US 2010/0166307 A1 · Method and Apparatus for Removing Noise from a Digital Image

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

- Number: US 2010/0166307 A1
- Document ID: US20100166307A1
- Status: Published application
- Kind: A1
- Application number: 12/648,250
- Filed: 2009-12-28
- Published: 2010-07-01
- Earliest claimed: 2005-11-30
- Assignees: Adobe Systems Incorporated
- Inventors: Dennis G. Nicholson
- Web page: https://patentgrep.com/patent/US20100166307A1

## CPC

- G06T 5/70: Denoising; Smoothing
- G06V 30/164: Noise filtering
- G06T 2207/30176: Document
- G06V 30/10: Character recognition
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

One embodiment of the present invention provides a system that removes noise from an image. During operation, the system first identifies blobs in the image, wherein a blob is a set of contiguous pixels which possibly represents a character or a portion of a character in the image. Next, the system analyzes the blobs to dynamically determine a “noise threshold” for the blobs. The system then removes blobs from the image which are below the noise threshold.

## Claims

### Claim at position 1

-21. (canceled)

### Claim 22

A method for removing noise from an image, comprising:
receiving the image;
analyzing the image, comprising:
identifying a text region within the image;
identifying one or more key characters within the text region, wherein a key character is a character or a portion of a character;
locating a plurality of blobs within the image, wherein a blob is a cluster of adjacent pixels which possibly represent a character or part of a character within the image;
computing a noise threshold based on a size of the one or more key characters within the text region, wherein blobs of the plurality of blobs that are smaller than said noise threshold are likely to be noise; and
removing from the image one or more of the plurality of blobs which are smaller than said noise threshold.

### Claim 23 (depends on 22)

The method of claim 22, further comprising:
repeating said analyzing, comprising:
identifying a different text region within the same image;
identifying one or more key characters within the different text region;
locating another plurality of blobs within the same image; and
computing another noise threshold based on a size of the one or more key characters within the different text region, wherein blobs of the other plurality of blobs that are smaller than said another noise threshold are likely to be noise, and wherein said another noise threshold is computed independently of said noise threshold; and
removing from the same image one or more of the other plurality of blobs which are smaller than said another noise threshold.

### Claim 24 (depends on 22)

The method of claim 22, further comprising, prior to said analyzing the image, performing an initial noise-removal operation by removing blobs from the image that are below an initial noise threshold.

### Claim 25 (depends on 24)

The method of claim 24, further comprising, in response to determining that said noise threshold is reduced from the initial noise threshold, restoring previously removed blobs which are smaller than the initial noise threshold but are larger than said noise threshold.

### Claim 26 (depends on 22)

The method of claim 22, further comprising:
analyzing the plurality of blobs, comprising analyzing one or more of blob distribution, blob count, blob location, blob density, and blob color; and
adjusting said noise threshold based on the analyzing the plurality of blobs.

### Claim 27 (depends on 22)

The method of claim 22, wherein said one or more key characters include at least one or more of a period, a comma, an ellipsis, or the dot portion of the lowercase “i” character.

### Claim 28 (depends on 22)

The method of claim 22, wherein said noise threshold is a fraction of an average size of the one or more key characters within the text region.

### Claim 29

A computer-readable storage medium storing program instructions that when executed by a computer cause the computer to perform:
receiving the image;
analyzing the image, comprising:
identifying a text region within the image;
identifying one or more key characters within the text region, wherein a key character is a character or a portion of a character;
locating a plurality of blobs within the image, wherein a blob is a cluster of adjacent pixels which possibly represent a character or part of a character within the image;
computing a noise threshold based on a size of the one or more key characters within the text region, wherein blobs of the plurality of blobs that are smaller than said noise threshold are likely to be noise; and
removing from the image one or more of the plurality of blobs which are smaller than said noise threshold.

### Claim 30 (depends on 29)

The computer-readable storage medium of claim 29, wherein the program instructions further cause the computer to perform:
repeating said analyzing, comprising:
identifying a different text region within the same image;
identifying one or more key characters within the different text region;
locating another plurality of blobs within the same image; and
computing another noise threshold based on a size of the one or more key characters within the different text region, wherein blobs of the other plurality of blobs that are smaller than said another noise threshold are likely to be noise, and wherein said another noise threshold is computed independently of said noise threshold; and
removing from the same image one or more of the other plurality of blobs which are smaller than said another noise threshold.

### Claim 31 (depends on 29)

The computer-readable storage medium of claim 29, wherein the program instructions further cause the computer to perform, prior to said analyzing the image, an initial noise-removal operation by removing blobs from the image that are below an initial noise threshold.

### Claim 32 (depends on 31)

The computer-readable storage medium of claim 31, wherein the program instructions further cause the computer to perform, in response to determining that said noise threshold is reduced from the initial noise threshold, restoring previously removed blobs which are smaller than the initial noise threshold but are larger than said noise threshold.

### Claim 33 (depends on 29)

The computer-readable storage medium of claim 29, wherein the program instructions further cause the computer to perform:
analyzing the plurality of blobs, comprising analyzing one or more of blob distribution, blob count, blob location, blob density, and blob color; and
adjusting said noise threshold based on the analyzing the plurality of blobs.

### Claim 34 (depends on 29)

The computer-readable storage medium of claim 29, wherein said one or more key characters include at least one or more of a period, a comma, an ellipsis, or the dot portion of the lowercase “i” character.

### Claim 35 (depends on 29)

The computer-readable storage medium of claim 29, wherein said noise threshold is a fraction of an average size of the one or more key characters within the text region.

### Claim 36

A system that removes noise from an image, comprising:
a processor; and
memory storing program instructions executable by the processor to perform:
receiving the image;
analyzing the image, comprising:
identifying a text region within the image;
identifying one or more key characters within the text region, wherein a key character is a character or a portion of a character;
locating a plurality of blobs within the image, wherein a blob is a cluster of adjacent pixels which possibly represent a character or part of a character within the image;
computing a noise threshold based on a size of the one or more key characters within the text region, wherein blobs of the plurality of blobs that are smaller than said noise threshold are likely to be noise; and
removing from the image one or more of the plurality of blobs which are smaller than said noise threshold.

### Claim 37 (depends on 36)

The system of claim 36, wherein the program instructions are further executable to perform:
repeating said analyzing, comprising:
identifying a different text region within the same image;
identifying one or more key characters within the different text region;
locating another plurality of blobs within the same image; and
computing another noise threshold based on a size of the one or more key characters within the different text region, wherein blobs of the other plurality of blobs that are smaller than said another noise threshold are likely to be noise, and wherein said another noise threshold is computed independently of said noise threshold; and
removing from the same image one or more of the other plurality of blobs which are smaller than said another noise threshold.

### Claim 38 (depends on 36)

The system of claim 36, wherein the program instructions are further executable to perform, prior to said analyzing the image, an initial noise-removal operation by removing blobs from the image that are below an initial noise threshold.

### Claim 39 (depends on 38)

The system of claim 38, wherein the program instructions are further executable to perform, in response to determining that said noise threshold is reduced from the initial noise threshold, restoring previously removed blobs which are smaller than the initial noise threshold but are larger than said noise threshold.

### Claim 40 (depends on 36)

The system of claim 36, wherein the program instructions are further executable to perform:
analyzing the plurality of blobs, comprising analyzing one or more of blob distribution, blob count, blob location, blob density, and blob color; and
adjusting said noise threshold based on the analyzing the plurality of blobs.

### Claim 41 (depends on 36)

The system of claim 36, wherein said one or more key characters include at least one or more of a period, a comma, an ellipsis, or the dot portion of the lowercase “i” character, and wherein said noise threshold is a fraction of an average size of the one or more key characters within the text region.
