US20080267502A1 - Variable skew correction system and method - Google Patents
Variable skew correction system and method Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/243—Aligning, 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
Description
- 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).
-
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. -
FIG. 1 is a block diagram illustrating animaging device 10 in which an embodiment of a variableskew correction system 12 is employed to advantage.Imaging device 10 may comprise any type of device for generating a scanned image of adocument 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 aprocessor 20, ascan controller 22, ascanner module 24, and afeed mechanism 26.Scan controller 22 is used to control a scanning operation for producing a scanned image ofdocument 14. For example,scanner module 24 may comprise a photosensor element, a light forilluminating document 14, a lens assembly for focusing light reflected by and/or transmitted throughdocument 14 onto the photosensor and/or other elements used for generating a scanned image ofdocument 14.Feed mechanism 26 may comprise one or more rollers or other devices used to feeddocument 14past scanner module 24 for generating a scanned image thereof. In operation,scan controller 22 controls the operation offeed mechanism 26 and/orscanner module 24 to generate a scanned image ofdocument 14. - In the embodiment illustrated in
FIG. 1 ,system 12 comprises ade-skew application 30 executable to correct a variable skew condition associated with the scanned image ofdocument 14 such that non-linear distortion in the scanned image ofdocument 14 is adjusted and/or otherwise corrected to produce a scanned image representative ofdocument 14. De-skewapplication 30 may comprise hardware, software, firmware, or a combination thereof. InFIG. 1 , de-skewapplication 30 is illustrated as being stored inmemory 28 so as to be accessible and executable byprocessor 20. However, it should be understood that de-skewapplication 30 may be otherwise located (e.g., even remote from imaging device 10). - In
FIG. 1 ,memory 28 comprisesimage data 40 having information associated with the scanned and corrected images ofdocument 14. For example, in the embodiment illustrated inFIG. 1 ,image data 40 comprises scannedimage data 42, adeformable model 44, and a de-skewed output model 46. Scannedimage data 42 generally comprises image data acquired from a scanning operation performed ondocument 14. For example, in some embodiments, scanning ofdocument 14 is performed by a linear photosensor array on a scan line-by-scan line basis, thereby producing pixel values orraster data 48 corresponding to each scan line.Deformable model 44 comprises a model ofdocument 14 generated by de-skewapplication 30 based on scannedimage data 42 ofdocument 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 scannedimage data 42 associated withdocument 14. De-skewed output model 46 comprises a model generated by de-skewapplication 30 representing a de-skewed image ofdocument 14 as a result of de-skewapplication 30 transforming scannedimage data 42 fromdeformable model 44 to output model 46. -
FIGS. 2-9B are diagrams illustrating an embodiment of a method of variable skew correction using de-skewapplication 30. In the embodiment illustrated inFIGS. 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 ofdocuments 14. Referring toFIG. 2 , the scanned image ofdocument 14 is indicative of a is non-linear and/or variable skew distortion condition. De-skewapplication 30 accesses scannedimage data 42 corresponding todocument 14 and performs an edge detection operation on scannedimage data 42. In some embodiments, scannedimage data 42 may be downsampled prior to being processed using de-skewapplication 30 to facilitate faster image correction processing. As illustrated inFIG. 2 , the edge detection operation performed by de-skewapplication 30 is used to locate high contrast distinctions between various portions of scannedimage 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 scannedimage 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 ofdocument 14. InFIG. 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-skewapplication 30 performs a linking operation using the high contrast transition indications detected during the edge detection process (e.g.,indications 50 and 52 ofFIG. 2 ) to generatelinear 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 forparticular 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. InFIG. 3 , a small representative sample oflinear 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-skewapplication 30 performs a partitioning and grouping operation using thelinear line segments 56 obtained as illustrated inFIG. 3 . For example, as illustrated inFIGS. 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 toFIGS. 4A-4D , the line segments 56 (FIG. 3 ) are partitioned and grouped by de-skewapplication 30 into line segment groups 60 1, 60 2, 60 3, and 60 4, corresponding to the top, bottom, left, and right portions of scannedimage data 42, respectively. For ease of illustration and description, various image features represented inFIGS. 2 and 3 (e.g., name lettering and number designations) are omitted fromFIGS. 4A-8 ). - Referring to
FIG. 5 , de-skewapplication 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. InFIG. 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-skewapplication 30 uses the collinear groupings of line segments (grouped line segments 62 1-11 ofFIG. 5 ) to determine and/or estimate the locations of the sides ofdocument 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 ofdocument 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 ofdocument 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 ofdocument 14. However, it should be understood that other methods or processes may be used. Thus, for example, referring toFIG. 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 ofdocument 14, whereas the intersections the linear line segments 64 1-64 9 may be used to define the corners 66 1-66 4 ofdocument 14. - Referring to
FIG. 7 ,de-skew application 30 generates amodel 70 based on the determined locations corners 66 1-66 4. For example, in the embodiment illustrated inFIG. 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 inFIG. 7 , lines 72 1 and 72 3 correspond to edges ofdocument 14 that were located perpendicular to a scanning direction ofdocument 14 indicated byarrow 74 inFIG. 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 ofmodel 70 formed by piecewise linear segments defined and/or joined by a predetermined quantity of nodes. Thus, for example, inFIG. 7 , lines 72 2 and 72 4 are each defined by a same quantity ofnodes 76 having an equidistant spacing therebetween along the respective line 72 2 and 72 4 (the spacing betweennodes 76 along line 72 2 being less than the spacing betweennodes 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 ofline segments 78 havingrespective nodes 76 for endpoints thereof. - Referring to
FIG. 8 ,model 70 is deformed to correspond with and/or otherwise conform to scannedimage data 42. For example, referring toFIG. 8 , sides 72 2 and 72 4 are deformed to correspond to edges of scannedimage data 42 having a curvature and/or non-linear form by effectively transitioningnodes 76 andcorresponding line segments 78 to the outline or sides of scannedimage data 42. - Referring to
FIGS. 9A and 9B ,de-skew application 30 transforms scannedimage data 42 corresponding to thedeformed model 70 to anoutput model 80 generated byde-skew application 30.Output model 80 is used to represent and/or act as a placeholder for the transformation of scannedimage data 42 fromdeformed model 70 tooutput model 80.De-skew application 30 generatesoutput model 80 as a representative indication of the size ofdocument 14 based on scannedimage data 42. For example, in some embodiments,de-skew application 30 computes an average height foroutput model 80 as indicated by the direction corresponding toarrow 82 based on an average dimension of lines 72 2 and 72 4(FIG. 7 ), and computes an average width formodel 80 in a direction indicated byarrow 84 based on an average of a dimension of lines 72 1 and 72 3(FIG. 7 ). However, it should be understood thatoutput model 80 may be otherwise generated and/or determined. - Referring to
FIGS. 9A and 9B ,de-skew application 30 transforms scannedimage data 42 fromdeformed model 70 tooutput model 80 by transferring pixel values for each of a plurality ofraster data lines 90 of scannedimage data 42 fromdeformed model 70 tooutput model 80. For example, as illustrated inFIGS. 9A and 9B ,image data 42 located along line 72 2 is generally compressed whileimage data 42 located along line 72 4 is generally expanded resulting from the variable skew condition during scanning ofdocument 14. Thus, as illustrated inFIG. 9A , the distance between adjacent raster data lines 90 varies from line 72 2 to line 72 4. In operation, pixel values associated withraster lines 90 are moved and/or transferred fromdeformed model 70 tooutput model 80 using a one-to-one correspondence betweenmodels raster data lines 90 inoutput model 80 are spaced apart by one pixel along aside 92 ofmodel 80 such that a one-to-one correspondence betweenraster data lines 90 fromdeformed model 70 are established with the locations ofraster data lines 90 andoutput model 80. Thus, based on the selected locations forraster data lines 90 inoutput model 80, pixel values for a corresponding quantity ofraster data lines 90 are transferred frommodel 70 to model 80. Thus, it should be understood that the pixel spacing and/or pixel-to-pixel ratio between adjacentraster data lines 90 inmodel 70 along a scan direction of document 14 (e.g., as indicated byarrow 74 inFIG. 7 ) will vary from line 72 2 to line 72 4(i.e., the pixel spacing at opposite ends ofraster data lines 90 inmodel 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 particularraster data line 90 inmodel 70 and transfers the pixel values tooutput model 80 at a corresponding location of the selectedraster data line 90 inoutput model 80.De-skew application 30 performs the image data transformation by transitioning along a scan direction of the scannedimage data 42 to capture and/or otherwise acquire pixel values forraster data lines 90 inmodel 70 and transfer the pixel values tooutput model 80. Thus, it should be understood that the transitioning process through the scannedimage data 42 inmodel 70 may be on a variable pixel-by-pixel ratio based on the compressed/expanded data condition. InFIGS. 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 inFIGS. 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 byde-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)
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)
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)
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)
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)
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 |
-
2007
- 2007-04-30 US US11/799,183 patent/US7991244B2/en active Active
Patent Citations (12)
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)
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 |