IP Library Granted Patent US 8,731,309
Granted Patent B1
US 8,731,309 · App. 13/844,393 · Granted May 20, 2014

Method and system for processing raster scan images

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,731,309
App. No.
13/844,393
Granted
May 20, 2014
Kind
B1
Abstract

A method of converting a raster scan image to a vector-based image including (a) reading a scanline of a raster scan image containing n pixels per scanline; (b) classifying n+1 groupings of four adjacent pixels within the scanline using only the four adjacent pixel values; (c) assigning to each grouping (x,y), for all groupings in the scanline, plural vectors based on (1) the classification of the grouping (x,y) and (2) vectors assigned to a grouping (x−1,y) and vectors assigned to a grouping (x, y−1); (d) adding a point (x,y) to at least one vector assigned to the grouping (x,y) when the classification of grouping (x,y) indicates that the point (x,y) corresponds to a corner; (e) determining whether the points added to any vector form a closed loop; (f) writing out the points added to any vector that form a closed loop; and (g) repeating steps (a)-(f) for all of the scanlines of the raster scan image.

Claims (31)

1. A computer-implemented method of converting a raster scan image to a vector-based image using a computer processor and a non-transitory computer memory, wherein computer code stored in the computer memory causes the computer processor to perform the steps of:

(a) reading a scanline of a raster scan image containing n pixels per scanline;

(b) classifying n+1 groupings of four adjacent pixels within the scanline using only the four adjacent pixel values;

(c) assigning to each grouping (x,y), for all groupings in the scanline, plural vectors based on (1) the classification of the grouping (x,y) and (2) vectors assigned to a grouping (x−1,y) and vectors assigned to a grouping (x, y−1);

(d) adding a point (x,y) to at least one vector assigned to the grouping (x,y) when the classification of grouping (x,y) indicates that the point (x,y) corresponds to a corner;

(e) determining whether the points added to any vector form a closed loop;

(f) writing out the points added to any vector that forms a closed loop; and

(g) repeating steps (a)-(f) for all of the scanlines of the raster scan image to form the vector-based image from the scanlines of the raster scan image.

2. The computer-implemented method as claimed in claim 1 , wherein the step (e) of determining whether the points added to any vector form a closed loop comprises determining whether the points added to the any vector form a closed loop along with points added to a second vector having a same pixel value as the any vector,

wherein writing out the points added to any vector that forms a closed loop comprises writing out the points added to the any vector that forms a closed loop along with the points added to the second vector if the points of the any vector and the second vector form a closed loop and have the same pixel value.

3. The computer-implemented method as claimed in claim 1 , wherein the step (d) of adding a point (x,y) to at least one vector assigned to the grouping (x,y) when the classification of grouping (x,y) indicates that the point (x,y) corresponds to a corner comprises adding the point to the front of the at least one vector or the back of the at least one vector depending on the number of points added to the vector, a corner code of point being added and a corner code of at least one other point added to the vector if the at least one vector already includes at least one point.

4. The computer-implemented method as claimed in claim 1 , wherein the step (f) of writing comprises writing out to non-volatile storage the points added to any vector that forms the closed loop and further comprises removing from memory the points added to any vector that forms the closed loop after writing out to the non-volatile storage the points added to any vector that forms the closed loop.

5. The computer-implemented method as claimed in claim 1 , wherein the non-volatile storage comprises at least one of a hard disk, an optical disk and non-volatile semiconductor memory.

6. The computer-implemented method as claimed in claim 1 , wherein the step (f) of writing comprises writing out to a network the points added to any vector that forms the closed loop and further comprises removing from memory the points added to any vector that forms the closed loop after writing out to the network the points added to any vector that forms the closed loop.

7. The computer-implemented method as claimed in claim 1 , wherein the step (a) of reading comprises retaining in memory at most two scanlines of the raster scan image each containing n pixels per scanline.

8. A system for converting a raster scan image to a vector-based image, comprising:

a computer processor; and

computer memory including computer code stored in the computer memory configured to control the computer processor, the computer code comprising:

(a) computer code configured to read a scanline of a raster scan image containing n pixels per scanline;

(b) computer code configured to classify n+1 groupings of four adjacent pixels within the scanline using only the four adjacent pixel values;

(c) computer code configured to assign to each grouping (x,y), for all groupings in the scanline, plural vectors based on (1) the classification of the grouping (x,y) and (2) vectors assigned to a grouping (x−1,y) and vectors assigned to a grouping (x, y−1);

(d) computer code configured to add a point (x,y) to at least one vector assigned to the grouping (x,y) when the classification of grouping (x,y) indicates that the point (x,y) corresponds to a corner;

(e) computer code configured to determine whether the points added to any vector form a closed loop; and

(f) computer code configured to write out the points added to any vector that forms a closed loop.

9. The system as claimed in claim 8 , wherein the computer code configured to determine whether the points added to any vector form a closed loop comprises computer code configured to determine whether the points added to the any vector form a closed loop along with points added to a second vector having a same pixel value as the any vector,

wherein the computer code configured to write out the points added to any vector that forms a closed loop comprises computer code configured to write out the points added to the any vector that forms a closed loop along with the points added to the second vector if the points of the any vector and the second vector form a closed loop and have the same pixel value.

10. The system as claimed in claim 8 , wherein the computer code configured to add a point (x,y) to at least one vector assigned to the grouping (x,y) when the classification of grouping (x,y) indicates that the point (x,y) corresponds to a corner comprises computer code configured to add the point to the front of the at least one vector or the back of the at least one vector depending on the number of points added to the vector, a corner code of point being added and a corner code of at least one other point added to the vector if the at least one vector already includes at least one point.

11. The system as claimed in claim 8 , wherein the computer code configured to write out comprises computer code configured to write out to non-volatile storage the points added to any vector that forms the closed loop and further comprises computer code configured to remove from memory the points added to any vector that forms the closed loop after writing out to the non-volatile storage the points added to any vector that forms the closed loop.

12. The system as claimed in claim 8 , wherein the non-volatile storage comprises at least one of a hard disk, an optical disk and non-volatile semiconductor memory.

13. The system as claimed in claim 8 , wherein the computer code configured to write out comprises computer code configured to write out to a network the points added to any vector that forms the closed loop and further comprises computer code configured to remove from memory the points added to any vector that forms the closed loop after writing out to the network the points added to any vector that forms the closed loop.

14. The system as claimed in claim 8 , wherein the computer code configured to read the scanline comprises computer code configured to retain in memory at most two scanlines of the raster scan image each containing n pixels per scanline.

Assignments (7)
JOINDER TO PATENT SECURITY AGREEMENT Recorded Nov 5, 2025
From: NV5 GEOSPATIAL SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073452/0582 →
CHANGE OF NAME Recorded Sep 25, 2023
From: L3HARRIS GEOSPATIAL SOLUTIONS, INC.
To: NV5 GEOSPATIAL SOLUTIONS, INC.
Reel/Frame 065218/0450 →
CHANGE OF NAME Recorded Jun 13, 2022
From: HARRIS GEOSPATIAL SOLUTIONS, INC.
To: L3HARRIS GEOSPATIAL SOLUTIONS, INC.
Reel/Frame 060346/0294 →
CHANGE OF NAME Recorded May 24, 2018
From: EXELIS VISUAL INFORMATION SOLUTIONS, INC.
To: HARRIS GEOSPATIAL SOLUTIONS, INC.
Reel/Frame 046966/0993 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2018
From: HARRIS CORPORATION
To: EXELIS VISUAL INFORMATION SOLUTIONS, INC.
Reel/Frame 045889/0954 →
MERGER Recorded Jul 1, 2016
From: EXELIS INC.
To: HARRIS CORPORATION
Reel/Frame 039362/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2014
From: DESKEVICH, MICHAEL PAUL
To: EXELIS INC.
Reel/Frame 032202/0764 →