US20080267502A1 - Variable skew correction system and method - Google Patents

Variable skew correction system and method Download PDF

Info

Publication number
US20080267502A1
US20080267502A1 US11/799,183 US79918307A US2008267502A1 US 20080267502 A1 US20080267502 A1 US 20080267502A1 US 79918307 A US79918307 A US 79918307A US 2008267502 A1 US2008267502 A1 US 2008267502A1
Authority
US
United States
Prior art keywords
image data
scanned image
model
output model
skew
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US11/799,183
Other versions
US7991244B2 (en
Inventor
Kevin Youngers
Maurizio Pilu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Priority to US11/799,183 priority Critical patent/US7991244B2/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PILU, MAURIZIO, YOUNGERS, KEVIN
Publication of US20080267502A1 publication Critical patent/US20080267502A1/en
Application granted granted Critical
Publication of US7991244B2 publication Critical patent/US7991244B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations

Definitions

  • an image of a document is generally obtained scan line-by-scan line.
  • some document scanners comprise a feed mechanism that feeds a document to be scanned or imaged onto a platen and past a photosensitive element where image content is captured on a line-by-line basis as the document is fed past the photosensitive element.
  • Such feed mechanisms generally comprise rollers or other types of elements that grip and/or otherwise engage the document to feed the document past the photosensitive element.
  • a variable skew or non-linear distortion condition may result if the document inadvertently moves relative to the feed mechanism while the document is being fed past the photosensitive element, thereby resulting in an image that has a curved or banana-shaped contour.
  • variable skew condition is especially prevalent if the document contains embossed lettering or images (which creates friction relative to a platen across which the document is fed and/or results in uneven pressure being applied by the feed mechanism, thereby causing slippage between the document and the feed mechanism) or if the document is photo-quality paper, plastic or another type of medium having a generally smooth or slippery surface (which also results in slippage between the document and the feed mechanism).
  • FIG. 1 is a block diagram illustrating an imaging device in which an embodiment of a variable skew correction system is employed to advantage
  • FIGS. 2-9B are diagrams illustrating an embodiment of a method of variable skew correction.
  • FIG. 1 is a block diagram illustrating an imaging device 10 in which an embodiment of a variable skew correction system 12 is employed to advantage.
  • Imaging device 10 may comprise any type of device for generating a scanned image of a document 14 such as, but not limited to, a copier, a desktop scanner, a facsimile device, and a multi-function device.
  • Document 14 may comprise any type of object of which a scanned image is desired such as, but not limited to, a photograph, a text-based document, a credit card, and a business card.
  • imaging device 10 comprises a processor 20 , a scan controller 22 , a scanner module 24 , and a feed mechanism 26 .
  • Scan controller 22 is used to control a scanning operation for producing a scanned image of document 14 .
  • scanner module 24 may comprise a photosensor element, a light for illuminating document 14 , a lens assembly for focusing light reflected by and/or transmitted through document 14 onto the photosensor and/or other elements used for generating a scanned image of document 14 .
  • Feed mechanism 26 may comprise one or more rollers or other devices used to feed document 14 past scanner module 24 for generating a scanned image thereof.
  • scan controller 22 controls the operation of feed mechanism 26 and/or scanner module 24 to generate a scanned image of document 14 .
  • system 12 comprises a de-skew application 30 executable to correct a variable skew condition associated with the scanned image of document 14 such that non-linear distortion in the scanned image of document 14 is adjusted and/or otherwise corrected to produce a scanned image representative of document 14 .
  • De-skew application 30 may comprise hardware, software, firmware, or a combination thereof.
  • de-skew application 30 is illustrated as being stored in memory 28 so as to be accessible and executable by processor 20 . However, it should be understood that de-skew application 30 may be otherwise located (e.g., even remote from imaging device 10 ).
  • memory 28 comprises image data 40 having information associated with the scanned and corrected images of document 14 .
  • image data 40 comprises scanned image data 42 , a deformable model 44 , and a de-skewed output model 46 .
  • Scanned image data 42 generally comprises image data acquired from a scanning operation performed on document 14 .
  • scanning of document 14 is performed by a linear photosensor array on a scan line-by-scan line basis, thereby producing pixel values or raster data 48 corresponding to each scan line.
  • Deformable model 44 comprises a model of document 14 generated by de-skew application 30 based on scanned image data 42 of document 14 .
  • model 44 is deformed to correspond with and/or otherwise conform to the distorted and/or non-linear scanned image data 42 associated with document 14 .
  • De-skewed output model 46 comprises a model generated by de-skew application 30 representing a de-skewed image of document 14 as a result of de-skew application 30 transforming scanned image data 42 from deformable model 44 to output model 46 .
  • FIGS. 2-9B are diagrams illustrating an embodiment of a method of variable skew correction using de-skew application 30 .
  • document 14 is illustrated as a credit card.
  • the described method may be used for other types of documents 14 .
  • the scanned image of document 14 is indicative of a is non-linear and/or variable skew distortion condition.
  • De-skew application 30 accesses scanned image data 42 corresponding to document 14 and performs an edge detection operation on scanned image data 42 .
  • scanned image data 42 may be downsampled prior to being processed using de-skew application 30 to facilitate faster image correction processing. As illustrated in FIG.
  • the edge detection operation performed by de-skew application 30 is used to locate high contrast distinctions between various portions of scanned image data 42 .
  • the edge detection operation may locate transition indications 50 1 - 50 7 (which may represent a high contrast transition related to an edge of document 14 ) as well as transition indications 52 1 - 52 6 representing high contrast transitions within various areas of scanned image data 42 .
  • the edge detection operation is used to detect contrasting areas of image content that may be subsequently used to determine and/or otherwise identify the physical edges of document 14 .
  • FIG. 2 a small representative sample of transition indications are illustrated for ease of illustration and description; however, it should be understood that the quantity of detected contrasting areas may vary.
  • a variety of different types of edge detection methods may be used such as, but not limited to, a simplified Canny edge detection method.
  • de-skew application 30 performs a linking operation using the high contrast transition indications detected during the edge detection process (e.g., indications 50 and 52 of FIG. 2 ) to generate linear line segments 56 1-12 .
  • the high contrast transition indications detected during the edge detection process e.g., indications 50 and 52 of FIG. 2
  • linear line segments 56 1-12 For example, in some embodiments, opposite and/or extreme ends of a particular string of high contrast transition indications 50 and/or 52 are joined by a linear line such that edge points falling within a predetermined threshold distance relative to the linear line are associated with the generated linear line. Accordingly, if edge points for particular transitions 50 and 52 fall outside the predetermined threshold distance, such edge points are split and/or otherwise associated with a different linear line.
  • the linear line segmentation process may be performed by an iterative split and merge process such that orthogonal distances between edge points and linear lines are used to associate the various transition indication 50 and/or 52 points with particular linear lines.
  • FIG. 3 a small representative sample of linear line segments 56 are illustrated for ease of illustration and description; however, it should be understood that the quantity of linear line segments may vary.
  • de-skew application 30 performs a partitioning and grouping operation using the linear line segments 56 obtained as illustrated in FIG. 3 .
  • the linear line segments are partitioned and/or grouped by their relative locations such as top ( FIG. 4A ), bottom ( FIG. 4B , left ( FIG. 4C ), and right ( FIG. 4D ).
  • the line segments 56 FIG. 3
  • the line segments 56 FIG. 3
  • 60 4 various image features represented in FIGS. 2 and 3 (e.g., name lettering and number designations) are omitted from FIGS. 4A-8 ).
  • de-skew application 30 analyzes the grouped line segments 60 1 - 60 4 and groups those of line segments 60 1 - 60 4 that are generally collinear. For example, in some embodiments, a method such as a recursive depth-first tree search of the linear segments sorted horizontally (for the top and bottom groups 60 1 and 60 2 ) or vertically (for the left and right side groups 60 3 and 60 4 ) may be performed to group those segments that are generally collinear. In operation, various types of perceptual criteria may be used to determine whether two or more line segments are collinear such as, but not limited to, proximity relative to length, alignment of ends of particular line segments and/or the angular orientation of such line segments. In FIG. 5 , various line segments determined to be generally collinear have been grouped and are represented by grouped line segments 62 1 - 62 11 . However, it should be understood that there may be a greater or fewer quantity of collinear line segments.
  • de-skew application 30 uses the collinear groupings of line segments (grouped line segments 62 1-11 of FIG. 5 ) to determine and/or estimate the locations of the sides of document 14 .
  • the linear segments e.g., actual linear segments and/or projected linear segments
  • each of the various collinear line segment groups 62 1-11 are used to determine and/or estimate the locations of the sides of document 14 and the results scored using different criteria.
  • one of each of the collinear line segments groups from the top, bottom, left side and right side are used to calculate an area formed by the selected collinear line segment groups.
  • the intersections of the various collinear line segment groups may also be analyzed.
  • the calculated areas and/or intersection locations may be scored (e.g., larger areas having a higher score as being indicative of the boundaries or edges of document 14 ) to determine and/or estimate the locations of the sides of document 14 .
  • other methods or processes may be used. Thus, for example, referring to FIG.
  • the analysis of the collinear line segment groups 62 1-11 are used to define linear line segments 64 1 - 64 9 representing the sides of document 14 , whereas the intersections the linear line segments 64 1 - 64 9 may be used to define the corners 66 1 - 66 4 of document 14 .
  • de-skew application 30 generates a model 70 based on the determined locations corners 66 1 - 66 4 .
  • model 70 comprises linear lines 72 1 - 72 4 having their respective vertices located at corners 66 1 - 66 4 .
  • lines 72 1 and 72 3 correspond to edges of document 14 that were located perpendicular to a scanning direction of document 14 indicated by arrow 74 in FIG. 7 (e.g., if the variable skew condition had not resulted, sides 72 1 and 72 3 would have been located and/or positioned substantially parallel to a photosensor array during the scanning process).
  • de-skew application 30 generates lines 72 2 and 72 4 of model 70 formed by piecewise linear segments defined and/or joined by a predetermined quantity of nodes.
  • lines 72 2 and 72 4 are each defined by a same quantity of nodes 76 having an equidistant spacing therebetween along the respective line 72 2 and 72 4 (the spacing between nodes 76 along line 72 2 being less than the spacing between nodes 76 of line 72 4 because the image data along line 72 2 is compressed whereas the image data along line 72 4 is expanded resulting from the variable skew condition).
  • lines 72 2 and 72 4 are formed having a plurality of line segments 78 having respective nodes 76 for endpoints thereof.
  • model 70 is deformed to correspond with and/or otherwise conform to scanned image data 42 .
  • sides 72 2 and 72 4 are deformed to correspond to edges of scanned image data 42 having a curvature and/or non-linear form by effectively transitioning nodes 76 and corresponding line segments 78 to the outline or sides of scanned image data 42 .
  • de-skew application 30 transforms scanned image data 42 corresponding to the deformed model 70 to an output model 80 generated by de-skew application 30 .
  • Output model 80 is used to represent and/or act as a placeholder for the transformation of scanned image data 42 from deformed model 70 to output model 80 .
  • De-skew application 30 generates output model 80 as a representative indication of the size of document 14 based on scanned image data 42 .
  • de-skew application 30 computes an average height for output model 80 as indicated by the direction corresponding to arrow 82 based on an average dimension of lines 72 2 and 72 4 ( FIG. 7 ), and computes an average width for model 80 in a direction indicated by arrow 84 based on an average of a dimension of lines 72 1 and 72 3 ( FIG. 7 ).
  • output model 80 may be otherwise generated and/or determined.
  • de-skew application 30 transforms scanned image data 42 from deformed model 70 to output model 80 by transferring pixel values for each of a plurality of raster data lines 90 of scanned image data 42 from deformed model 70 to output model 80 .
  • image data 42 located along line 72 2 is generally compressed while image data 42 located along line 72 4 is generally expanded resulting from the variable skew condition during scanning of document 14 .
  • the distance between adjacent raster data lines 90 varies from line 72 2 to line 72 4 .
  • pixel values associated with raster lines 90 are moved and/or transferred from deformed model 70 to output model 80 using a one-to-one correspondence between models 70 and 80 .
  • the locations of raster data lines 90 in output model 80 are spaced apart by one pixel along a side 92 of model 80 such that a one-to-one correspondence between raster data lines 90 from deformed model 70 are established with the locations of raster data lines 90 and output model 80 .
  • pixel values for a corresponding quantity of raster data lines 90 are transferred from model 70 to model 80 .
  • the pixel spacing and/or pixel-to-pixel ratio between adjacent raster data lines 90 in model 70 along a scan direction of document 14 will vary from line 72 2 to line 72 4 (i.e., the pixel spacing at opposite ends of raster data lines 90 in model 70 will vary (e.g., the pixel spacing along line 72 2 may be different, probably smaller, than the pixel spacing along line 72 4 )) because of the compression/expansion of the distorted image data.
  • de-skew application 30 acquires pixel values for a particular raster data line 90 in model 70 and transfers the pixel values to output model 80 at a corresponding location of the selected raster data line 90 in output model 80 .
  • De-skew application 30 performs the image data transformation by transitioning along a scan direction of the scanned image data 42 to capture and/or otherwise acquire pixel values for raster data lines 90 in model 70 and transfer the pixel values to output model 80 .
  • the transitioning process through the scanned image data 42 in model 70 may be on a variable pixel-by-pixel ratio based on the compressed/expanded data condition.
  • FIGS. 9A and 9B three raster data lines 90 1 - 90 3 are represented; however, it should be understood that the quantity of raster data lines will vary.
  • de-skew application 30 may be provided as an ordered listing of executable instructions that can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device, and execute the instructions.
  • a “computer-readable medium” can be any means that can contain, store, communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
  • the computer-readable medium can be, for example, but is not limited to, an electronic, magnetic, optical, electro-magnetic, infrared, or semi-conductor system, apparatus, device, or propagation medium.

Abstract

A variable skew correction system comprises a de-skew application executable to transform scanned image data of a document exhibiting a variable skew condition to an output model representing a de-skewed image of the document by transferring pixel data for each of a plurality of raster lines of the scanned image data to the output model, wherein a variable spacing between at least two adjacent raster lines of the scanned image data is modified in the output model to correct non-linear distortion of the scanned image data.

Description

    BACKGROUND
  • In document scanners and other types of imaging devices, an image of a document is generally obtained scan line-by-scan line. For example, some document scanners comprise a feed mechanism that feeds a document to be scanned or imaged onto a platen and past a photosensitive element where image content is captured on a line-by-line basis as the document is fed past the photosensitive element. Such feed mechanisms generally comprise rollers or other types of elements that grip and/or otherwise engage the document to feed the document past the photosensitive element. However, during the feeding process, a variable skew or non-linear distortion condition may result if the document inadvertently moves relative to the feed mechanism while the document is being fed past the photosensitive element, thereby resulting in an image that has a curved or banana-shaped contour. For example, the variable skew condition is especially prevalent if the document contains embossed lettering or images (which creates friction relative to a platen across which the document is fed and/or results in uneven pressure being applied by the feed mechanism, thereby causing slippage between the document and the feed mechanism) or if the document is photo-quality paper, plastic or another type of medium having a generally smooth or slippery surface (which also results in slippage between the document and the feed mechanism).
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram illustrating an imaging device in which an embodiment of a variable skew correction system is employed to advantage; and
  • FIGS. 2-9B are diagrams illustrating an embodiment of a method of variable skew correction.
  • DETAILED DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram illustrating an imaging device 10 in which an embodiment of a variable skew correction system 12 is employed to advantage. Imaging device 10 may comprise any type of device for generating a scanned image of a document 14 such as, but not limited to, a copier, a desktop scanner, a facsimile device, and a multi-function device. Document 14 may comprise any type of object of which a scanned image is desired such as, but not limited to, a photograph, a text-based document, a credit card, and a business card.
  • In the embodiment illustrated in FIG. 1, imaging device 10 comprises a processor 20, a scan controller 22, a scanner module 24, and a feed mechanism 26. Scan controller 22 is used to control a scanning operation for producing a scanned image of document 14. For example, scanner module 24 may comprise a photosensor element, a light for illuminating document 14, a lens assembly for focusing light reflected by and/or transmitted through document 14 onto the photosensor and/or other elements used for generating a scanned image of document 14. Feed mechanism 26 may comprise one or more rollers or other devices used to feed document 14 past scanner module 24 for generating a scanned image thereof. In operation, scan controller 22 controls the operation of feed mechanism 26 and/or scanner module 24 to generate a scanned image of document 14.
  • In the embodiment illustrated in FIG. 1, system 12 comprises a de-skew application 30 executable to correct a variable skew condition associated with the scanned image of document 14 such that non-linear distortion in the scanned image of document 14 is adjusted and/or otherwise corrected to produce a scanned image representative of document 14. De-skew application 30 may comprise hardware, software, firmware, or a combination thereof. In FIG. 1, de-skew application 30 is illustrated as being stored in memory 28 so as to be accessible and executable by processor 20. However, it should be understood that de-skew application 30 may be otherwise located (e.g., even remote from imaging device 10).
  • In FIG. 1, memory 28 comprises image data 40 having information associated with the scanned and corrected images of document 14. For example, in the embodiment illustrated in FIG. 1, image data 40 comprises scanned image data 42, a deformable model 44, and a de-skewed output model 46. Scanned image data 42 generally comprises image data acquired from a scanning operation performed on document 14. For example, in some embodiments, scanning of document 14 is performed by a linear photosensor array on a scan line-by-scan line basis, thereby producing pixel values or raster data 48 corresponding to each scan line. Deformable model 44 comprises a model of document 14 generated by de-skew application 30 based on scanned image data 42 of document 14. As will be described in greater detail below, model 44 is deformed to correspond with and/or otherwise conform to the distorted and/or non-linear scanned image data 42 associated with document 14. De-skewed output model 46 comprises a model generated by de-skew application 30 representing a de-skewed image of document 14 as a result of de-skew application 30 transforming scanned image data 42 from deformable model 44 to output model 46.
  • FIGS. 2-9B are diagrams illustrating an embodiment of a method of variable skew correction using de-skew application 30. In the embodiment illustrated in FIGS. 2-9B, document 14 is illustrated as a credit card. However, it should be understood that the described method may be used for other types of documents 14. Referring to FIG. 2, the scanned image of document 14 is indicative of a is non-linear and/or variable skew distortion condition. De-skew application 30 accesses scanned image data 42 corresponding to document 14 and performs an edge detection operation on scanned image data 42. In some embodiments, scanned image data 42 may be downsampled prior to being processed using de-skew application 30 to facilitate faster image correction processing. As illustrated in FIG. 2, the edge detection operation performed by de-skew application 30 is used to locate high contrast distinctions between various portions of scanned image data 42. Thus, for example, the edge detection operation may locate transition indications 50 1-50 7 (which may represent a high contrast transition related to an edge of document 14) as well as transition indications 52 1-52 6 representing high contrast transitions within various areas of scanned image data 42. Thus, it should be understood that the edge detection operation is used to detect contrasting areas of image content that may be subsequently used to determine and/or otherwise identify the physical edges of document 14. In FIG. 2, a small representative sample of transition indications are illustrated for ease of illustration and description; however, it should be understood that the quantity of detected contrasting areas may vary. Further, a variety of different types of edge detection methods may be used such as, but not limited to, a simplified Canny edge detection method.
  • Referring to FIG. 3, de-skew application 30 performs a linking operation using the high contrast transition indications detected during the edge detection process (e.g., indications 50 and 52 of FIG. 2) to generate linear line segments 56 1-12. For example, in some embodiments, opposite and/or extreme ends of a particular string of high contrast transition indications 50 and/or 52 are joined by a linear line such that edge points falling within a predetermined threshold distance relative to the linear line are associated with the generated linear line. Accordingly, if edge points for particular transitions 50 and 52 fall outside the predetermined threshold distance, such edge points are split and/or otherwise associated with a different linear line. Thus, in some embodiments, the linear line segmentation process may be performed by an iterative split and merge process such that orthogonal distances between edge points and linear lines are used to associate the various transition indication 50 and/or 52 points with particular linear lines. In FIG. 3, a small representative sample of linear line segments 56 are illustrated for ease of illustration and description; however, it should be understood that the quantity of linear line segments may vary.
  • Referring to FIGS. 4A-4B, de-skew application 30 performs a partitioning and grouping operation using the linear line segments 56 obtained as illustrated in FIG. 3. For example, as illustrated in FIGS. 4A-4B, the linear line segments are partitioned and/or grouped by their relative locations such as top (FIG. 4A), bottom (FIG. 4B, left (FIG. 4C), and right (FIG. 4D). Thus, referring to FIGS. 4A-4D, the line segments 56 (FIG. 3) are partitioned and grouped by de-skew application 30 into line segment groups 60 1, 60 2, 60 3, and 60 4, corresponding to the top, bottom, left, and right portions of scanned image data 42, respectively. For ease of illustration and description, various image features represented in FIGS. 2 and 3 (e.g., name lettering and number designations) are omitted from FIGS. 4A-8).
  • Referring to FIG. 5, de-skew application 30 analyzes the grouped line segments 60 1-60 4 and groups those of line segments 60 1-60 4 that are generally collinear. For example, in some embodiments, a method such as a recursive depth-first tree search of the linear segments sorted horizontally (for the top and bottom groups 60 1 and 60 2) or vertically (for the left and right side groups 60 3 and 60 4) may be performed to group those segments that are generally collinear. In operation, various types of perceptual criteria may be used to determine whether two or more line segments are collinear such as, but not limited to, proximity relative to length, alignment of ends of particular line segments and/or the angular orientation of such line segments. In FIG. 5, various line segments determined to be generally collinear have been grouped and are represented by grouped line segments 62 1-62 11. However, it should be understood that there may be a greater or fewer quantity of collinear line segments.
  • Referring to FIG. 6, de-skew application 30 uses the collinear groupings of line segments (grouped line segments 62 1-11 of FIG. 5) to determine and/or estimate the locations of the sides of document 14. For example, in some embodiments, the linear segments (e.g., actual linear segments and/or projected linear segments) of the various collinear line segment groups 62 1-11 are analyzed relative to each other to locate and/or estimate the locations of the sides of document 14. In some embodiments, each of the various collinear line segment groups 62 1-11 are used to determine and/or estimate the locations of the sides of document 14 and the results scored using different criteria. For example, in some embodiments, one of each of the collinear line segments groups from the top, bottom, left side and right side are used to calculate an area formed by the selected collinear line segment groups. The intersections of the various collinear line segment groups may also be analyzed. The calculated areas and/or intersection locations may be scored (e.g., larger areas having a higher score as being indicative of the boundaries or edges of document 14) to determine and/or estimate the locations of the sides of document 14. However, it should be understood that other methods or processes may be used. Thus, for example, referring to FIG. 6, the analysis of the collinear line segment groups 62 1-11 are used to define linear line segments 64 1-64 9 representing the sides of document 14, whereas the intersections the linear line segments 64 1-64 9 may be used to define the corners 66 1-66 4 of document 14.
  • Referring to FIG. 7, de-skew application 30 generates a model 70 based on the determined locations corners 66 1-66 4. For example, in the embodiment illustrated in FIG. 7, model 70 comprises linear lines 72 1-72 4 having their respective vertices located at corners 66 1-66 4. In the embodiment illustrated in FIG. 7, lines 72 1 and 72 3 correspond to edges of document 14 that were located perpendicular to a scanning direction of document 14 indicated by arrow 74 in FIG. 7 (e.g., if the variable skew condition had not resulted, sides 72 1 and 72 3 would have been located and/or positioned substantially parallel to a photosensor array during the scanning process). Thus, based on the foregoing, de-skew application 30 generates lines 72 2 and 72 4 of model 70 formed by piecewise linear segments defined and/or joined by a predetermined quantity of nodes. Thus, for example, in FIG. 7, lines 72 2 and 72 4 are each defined by a same quantity of nodes 76 having an equidistant spacing therebetween along the respective line 72 2 and 72 4 (the spacing between nodes 76 along line 72 2 being less than the spacing between nodes 76 of line 72 4 because the image data along line 72 2 is compressed whereas the image data along line 72 4 is expanded resulting from the variable skew condition). Thus, lines 72 2 and 72 4 are formed having a plurality of line segments 78 having respective nodes 76 for endpoints thereof.
  • Referring to FIG. 8, model 70 is deformed to correspond with and/or otherwise conform to scanned image data 42. For example, referring to FIG. 8, sides 72 2 and 72 4 are deformed to correspond to edges of scanned image data 42 having a curvature and/or non-linear form by effectively transitioning nodes 76 and corresponding line segments 78 to the outline or sides of scanned image data 42.
  • Referring to FIGS. 9A and 9B, de-skew application 30 transforms scanned image data 42 corresponding to the deformed model 70 to an output model 80 generated by de-skew application 30. Output model 80 is used to represent and/or act as a placeholder for the transformation of scanned image data 42 from deformed model 70 to output model 80. De-skew application 30 generates output model 80 as a representative indication of the size of document 14 based on scanned image data 42. For example, in some embodiments, de-skew application 30 computes an average height for output model 80 as indicated by the direction corresponding to arrow 82 based on an average dimension of lines 72 2 and 72 4(FIG. 7), and computes an average width for model 80 in a direction indicated by arrow 84 based on an average of a dimension of lines 72 1 and 72 3(FIG. 7). However, it should be understood that output model 80 may be otherwise generated and/or determined.
  • Referring to FIGS. 9A and 9B, de-skew application 30 transforms scanned image data 42 from deformed model 70 to output model 80 by transferring pixel values for each of a plurality of raster data lines 90 of scanned image data 42 from deformed model 70 to output model 80. For example, as illustrated in FIGS. 9A and 9B, image data 42 located along line 72 2 is generally compressed while image data 42 located along line 72 4 is generally expanded resulting from the variable skew condition during scanning of document 14. Thus, as illustrated in FIG. 9A, the distance between adjacent raster data lines 90 varies from line 72 2 to line 72 4. In operation, pixel values associated with raster lines 90 are moved and/or transferred from deformed model 70 to output model 80 using a one-to-one correspondence between models 70 and 80. For example, in some embodiments of operation, the locations of raster data lines 90 in output model 80 are spaced apart by one pixel along a side 92 of model 80 such that a one-to-one correspondence between raster data lines 90 from deformed model 70 are established with the locations of raster data lines 90 and output model 80. Thus, based on the selected locations for raster data lines 90 in output model 80, pixel values for a corresponding quantity of raster data lines 90 are transferred from model 70 to model 80. Thus, it should be understood that the pixel spacing and/or pixel-to-pixel ratio between adjacent raster data lines 90 in model 70 along a scan direction of document 14 (e.g., as indicated by arrow 74 in FIG. 7) will vary from line 72 2 to line 72 4(i.e., the pixel spacing at opposite ends of raster data lines 90 in model 70 will vary (e.g., the pixel spacing along line 72 2 may be different, probably smaller, than the pixel spacing along line 72 4)) because of the compression/expansion of the distorted image data.
  • Thus, in operation, de-skew application 30 acquires pixel values for a particular raster data line 90 in model 70 and transfers the pixel values to output model 80 at a corresponding location of the selected raster data line 90 in output model 80. De-skew application 30 performs the image data transformation by transitioning along a scan direction of the scanned image data 42 to capture and/or otherwise acquire pixel values for raster data lines 90 in model 70 and transfer the pixel values to output model 80. Thus, it should be understood that the transitioning process through the scanned image data 42 in model 70 may be on a variable pixel-by-pixel ratio based on the compressed/expanded data condition. In FIGS. 9A and 9B, three raster data lines 90 1-90 3 are represented; however, it should be understood that the quantity of raster data lines will vary.
  • It should be understood that in the described method, certain functions may be omitted, accomplished in a sequence different from that depicted in FIGS. 2-9B, or performed simultaneously. Also, it should be understood that the methods depicted in FIGS. 2-9B may be altered to encompass any of the other features or aspects as described elsewhere in the specification. Further, embodiments may be implemented in software and can be adapted to run on different platforms and operating systems. In particular, functions implemented by de-skew application 30, for example, may be provided as an ordered listing of executable instructions that can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device, and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium can be, for example, but is not limited to, an electronic, magnetic, optical, electro-magnetic, infrared, or semi-conductor system, apparatus, device, or propagation medium.

Claims (20)

1. A variable skew correction system, comprising:
a de-skew application executable to transform scanned image data of a document exhibiting a variable skew condition to an output model representing a de-skewed image of the document by transferring pixel data for each of a plurality of raster lines of the scanned image data to the output model, wherein a variable spacing between at least two adjacent raster lines of the scanned image data is modified in the output model to correct non-linear distortion of the scanned image data.
2. The system of claim 1, wherein the de-skew application is configured to transform the scanned image data to the output model at a variable pixel-by-pixel ratio between at least two opposing sides of the scanned image data.
3. The system of claim 1, wherein the de-skew application is configured to perform edge detection on the scanned image data to generate the output model.
4. The system of claim 1, wherein the de-skew application is configured to partition and group linear segments of the scanned image data to determine sides for the output model.
5. The system of claim 1, wherein the de-skew application is configured to analyze intersections of linear segments of the scanned image data to determine sides for the output model.
6. The system of claim 1, wherein the de-skew application is configured to position the at least two adjacent raster lines in the output model with a uniform spacing therebetween.
7. The system of claim 1, wherein the de-skew application is configured to generate another model deformed to the scanned image data to determine at least one dimension of the output model.
8. A variable skew correction method, comprising:
generating an output model representing a de-skewed image of a document based on scanned image data of the document, the scanned image data indicating a variable skew condition;
deforming another model to conform to the scanned image data; and
transforming the scanned image data from the deformed model to the output model to correct non-linear distortion of the scanned image data.
9. The method of claim 8, further comprising transforming the scanned image data to the de-skewed model at a variable pixel-by-pixel ratio between at least two opposing sides of the scanned image data.
10. The method of claim 8, further comprising performing edge detection on the scanned image data to generate the output model.
11. The method of claim 8, further comprising partitioning and grouping linear segments of the scanned image data to determine sides for the output model.
12. The method of claim 8, further comprising analyzing intersections of linear segments of the scanned image data to determine sides for the output model.
13. The method of claim 8, further comprising transferring raster lines of the scanned image data from the deformed model to the output model.
14. The method of claim 8, wherein deforming the another model comprises deforming at least one side of the another model to a side of the scanned image data exhibiting a curvature.
15. A variable skew correction system, comprising:
an imaging device having a de-skew application executable by a processor to:
generate an output model representing a de-skewed image of a document based on scanned image data of the document, the scanned image data indicating a variable skew condition;
deform another model to conform to the scanned image data; and
transform the scanned image data from the deformed model to the output model to correct non-linear distortion of the scanned image data.
16. The system of claim 15, wherein the de-skew application is configured to transform the scanned image data to the output model at a variable pixel-by-pixel ratio between at least two opposing sides of the scanned image data.
17. The system of claim 16, wherein the de-skew application is configured to perform edge detection on the scanned image data to generate the output model.
18. The system of claim 16, wherein the de-skew application is configured to partition and group linear segments of the scanned image data to determine sides for the output model.
19. The system of claim 16, wherein the de-skew application is configured to analyze intersections of linear segments of the scanned image data to determine sides for the output model.
20. The system of claim 16, wherein the de-skew application is configured to transfer raster lines of the scanned image data from the deformed model to the output model:
US11/799,183 2007-04-30 2007-04-30 Variable skew correction system and method Active 2030-06-01 US7991244B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/799,183 US7991244B2 (en) 2007-04-30 2007-04-30 Variable skew correction system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/799,183 US7991244B2 (en) 2007-04-30 2007-04-30 Variable skew correction system and method

Publications (2)

Publication Number Publication Date
US20080267502A1 true US20080267502A1 (en) 2008-10-30
US7991244B2 US7991244B2 (en) 2011-08-02

Family

ID=39887046

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/799,183 Active 2030-06-01 US7991244B2 (en) 2007-04-30 2007-04-30 Variable skew correction system and method

Country Status (1)

Country Link
US (1) US7991244B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130163846A1 (en) * 2011-12-21 2013-06-27 Ncr Corporation Document de-skewing
US20130202185A1 (en) * 2012-02-08 2013-08-08 Scientific Games International, Inc. Method for optically decoding a debit or credit card
US20140267647A1 (en) * 2013-03-15 2014-09-18 Orcam Technologies Ltd. Apparatus, method, and computer readable medium for recognizing text on a curved surface
WO2014200982A3 (en) * 2013-06-12 2015-04-16 Kodak Alaris Inc. Method for detecting a document boundary
US9374500B2 (en) 2014-03-31 2016-06-21 Brother Kogyo Kabushiki Kaisha Image processing apparatus configured to execute correction on scanned image
US9558622B2 (en) 2012-02-08 2017-01-31 Scientific Games International, Inc. Logistics methods for processing lottery and contest tickets with generic hardware
US9666023B2 (en) 2014-07-18 2017-05-30 Scientific Games International, Inc. Logistics methods for processing lottery and contest tickets with generic hardware
US9799170B2 (en) 2014-07-29 2017-10-24 Scientific Games International, Inc. Method and system for providing alternative usages of closed lottery networks
US10191941B1 (en) * 2014-12-09 2019-01-29 Cloud & Stream Gears Llc Iterative skewness calculation for streamed data using components
US20200380657A1 (en) * 2019-05-30 2020-12-03 Kyocera Document Solutions Inc. Image processing apparatus, non-transitory computer readable recording medium that records an image processing program, and image processing method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331738B2 (en) * 2010-03-24 2012-12-11 Xerox Corporation Reducing buffer size requirements in an electronic registration system
JP5712851B2 (en) * 2011-07-29 2015-05-07 富士通株式会社 Data division apparatus, data division method, and data division program

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191438A (en) * 1989-12-12 1993-03-02 Sharp Kabushiki Kaisha Facsimile device with skew correction and text line direction detection
US5764383A (en) * 1996-05-30 1998-06-09 Xerox Corporation Platenless book scanner with line buffering to compensate for image skew
US5818976A (en) * 1993-10-25 1998-10-06 Visioneer, Inc. Method and apparatus for document skew and size/shape detection
US5901253A (en) * 1996-04-04 1999-05-04 Hewlett-Packard Company Image processing system with image cropping and skew correction
US5940544A (en) * 1996-08-23 1999-08-17 Sharp Kabushiki Kaisha Apparatus for correcting skew, distortion and luminance when imaging books and the like
US20010014183A1 (en) * 1998-04-09 2001-08-16 Hewlett-Packard Company Image processing system with image cropping and skew correction
US6529643B1 (en) * 1998-12-21 2003-03-04 Xerox Corporation System for electronic compensation of beam scan trajectory distortion
US6862375B1 (en) * 2000-10-04 2005-03-01 Hewlett-Packard Development Company, L.P. Skew compensation for raster image transfer device
US20050225808A1 (en) * 2000-11-09 2005-10-13 Braudaway Gordon W Method and apparatus to correct distortion of document copies
US7133573B2 (en) * 2002-11-26 2006-11-07 Eastman Kodak Company Document skew accommodation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549680B1 (en) 1998-06-23 2003-04-15 Xerox Corporation Method and apparatus for deskewing and despeckling of images
JP4610687B2 (en) 1999-11-15 2011-01-12 コニカミノルタホールディングス株式会社 Document reader
US7120314B2 (en) 2003-01-15 2006-10-10 Xerox Corporation Systems and methods for obtaining image shear and skew
JP2005108230A (en) 2003-09-25 2005-04-21 Ricoh Co Ltd Printing system with embedded audio/video content recognition and processing function

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191438A (en) * 1989-12-12 1993-03-02 Sharp Kabushiki Kaisha Facsimile device with skew correction and text line direction detection
US5818976A (en) * 1993-10-25 1998-10-06 Visioneer, Inc. Method and apparatus for document skew and size/shape detection
US5901253A (en) * 1996-04-04 1999-05-04 Hewlett-Packard Company Image processing system with image cropping and skew correction
US5764383A (en) * 1996-05-30 1998-06-09 Xerox Corporation Platenless book scanner with line buffering to compensate for image skew
US5940544A (en) * 1996-08-23 1999-08-17 Sharp Kabushiki Kaisha Apparatus for correcting skew, distortion and luminance when imaging books and the like
US20010014183A1 (en) * 1998-04-09 2001-08-16 Hewlett-Packard Company Image processing system with image cropping and skew correction
US6310984B2 (en) * 1998-04-09 2001-10-30 Hewlett-Packard Company Image processing system with image cropping and skew correction
US6430320B1 (en) * 1998-04-09 2002-08-06 Hewlett-Packard Company Image processing system with automatic image cropping and skew correction
US6529643B1 (en) * 1998-12-21 2003-03-04 Xerox Corporation System for electronic compensation of beam scan trajectory distortion
US6862375B1 (en) * 2000-10-04 2005-03-01 Hewlett-Packard Development Company, L.P. Skew compensation for raster image transfer device
US20050225808A1 (en) * 2000-11-09 2005-10-13 Braudaway Gordon W Method and apparatus to correct distortion of document copies
US7133573B2 (en) * 2002-11-26 2006-11-07 Eastman Kodak Company Document skew accommodation

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903173B2 (en) * 2011-12-21 2014-12-02 Ncr Corporation Automatic image processing for document de-skewing and cropping
US20130163846A1 (en) * 2011-12-21 2013-06-27 Ncr Corporation Document de-skewing
US9721425B2 (en) 2012-02-08 2017-08-01 Scientific Games International, Inc. Logistics methods for processing lottery and contest tickets with generic hardware
US9558622B2 (en) 2012-02-08 2017-01-31 Scientific Games International, Inc. Logistics methods for processing lottery and contest tickets with generic hardware
EP2812865A1 (en) * 2012-02-08 2014-12-17 Scientific Games Holdings Limited A method for optically decoding a debit or credit card
US20130202185A1 (en) * 2012-02-08 2013-08-08 Scientific Games International, Inc. Method for optically decoding a debit or credit card
US20140267647A1 (en) * 2013-03-15 2014-09-18 Orcam Technologies Ltd. Apparatus, method, and computer readable medium for recognizing text on a curved surface
US9213911B2 (en) * 2013-03-15 2015-12-15 Orcam Technologies Ltd. Apparatus, method, and computer readable medium for recognizing text on a curved surface
US9122921B2 (en) 2013-06-12 2015-09-01 Kodak Alaris Inc. Method for detecting a document boundary
EP3008661A2 (en) * 2013-06-12 2016-04-20 Kodak Alaris Inc. Method for detecting a document boundary
WO2014200982A3 (en) * 2013-06-12 2015-04-16 Kodak Alaris Inc. Method for detecting a document boundary
US9374500B2 (en) 2014-03-31 2016-06-21 Brother Kogyo Kabushiki Kaisha Image processing apparatus configured to execute correction on scanned image
US9666023B2 (en) 2014-07-18 2017-05-30 Scientific Games International, Inc. Logistics methods for processing lottery and contest tickets with generic hardware
US9799170B2 (en) 2014-07-29 2017-10-24 Scientific Games International, Inc. Method and system for providing alternative usages of closed lottery networks
US10191941B1 (en) * 2014-12-09 2019-01-29 Cloud & Stream Gears Llc Iterative skewness calculation for streamed data using components
US20200380657A1 (en) * 2019-05-30 2020-12-03 Kyocera Document Solutions Inc. Image processing apparatus, non-transitory computer readable recording medium that records an image processing program, and image processing method
US11087448B2 (en) * 2019-05-30 2021-08-10 Kyocera Document Solutions Inc. Apparatus, method, and non-transitory recording medium for a document fold determination based on the change point block detection

Also Published As

Publication number Publication date
US7991244B2 (en) 2011-08-02

Similar Documents

Publication Publication Date Title
US7991244B2 (en) Variable skew correction system and method
US8064729B2 (en) Image skew detection apparatus and methods
US8009931B2 (en) Real-time processing of grayscale image data
US5563403A (en) Method and apparatus for detection of a skew angle of a document image using a regression coefficient
JP7131415B2 (en) TILT DETECTION DEVICE, READING DEVICE, IMAGE PROCESSING DEVICE, AND TILT DETECTION METHOD
US5497236A (en) Method and apparatus for distortion correction of scanned images
JP4911340B2 (en) Two-dimensional code detection system and two-dimensional code detection program
EP2449531B1 (en) Skew detection
CN1297943C (en) Image defect inspecting apparatus and image defect inspecting method
US8018629B2 (en) Image reading apparatus, image reading method, and program for implementing the method
JPH08241411A (en) System and method for evaluation of document image
US7463772B1 (en) De-warping of scanned images
CN102722729A (en) Method of detection document alteration by comparing characters using shape features of characters
US20100225937A1 (en) Imaged page warp correction
US20050089248A1 (en) Adjustment method of a machine-readable form model and a filled form scanned image thereof in the presence of distortion
EP2545498B1 (en) Resolution adjustment of an image that includes text undergoing an ocr process
JP2005208847A (en) Image defect detecting apparatus and image forming apparatus
US8731336B2 (en) Multi-perpendicular line-based deskew with affine and perspective distortion correction
CN108335266B (en) Method for correcting document image distortion
US9124841B2 (en) Connected component analysis with multi-thresholding to segment halftones
US11399108B2 (en) Image reading apparatus capable of determining whether missing part of document image occurs based on edge shape of at least one of leading and trailing edges of document image
US11348214B2 (en) System and method for measuring image on paper registration using customer source images
JP2009284190A (en) Image reading apparatus and image reading system
JP4507762B2 (en) Printing inspection device
JP2005227142A (en) Image inspection apparatus with skew detection function

Legal Events

Date Code Title Description
AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YOUNGERS, KEVIN;PILU, MAURIZIO;REEL/FRAME:019634/0842;SIGNING DATES FROM 20070424 TO 20070427

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YOUNGERS, KEVIN;PILU, MAURIZIO;SIGNING DATES FROM 20070424 TO 20070427;REEL/FRAME:019634/0842

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12