Patent US6453080B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6453080B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method for real-time auto-cropping a scanned image

Assignee: Hanger Solutions LLC
•
Filing: 1999-10-15
•
Granted: 2002-09-17
•
Expires: 2019-10-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The method of the invention involves in finding the width and length of a scanned image in real time and then write the length and width into the header of a bitmap file as soon as the bottom line of the scanned image is found. The width of the scanned image can be computed from the width of the first occurrence of the meaningful image region. The width will be transferred to the scanner to reset the scan width for reading subsequent image data. The length of the scanned image cannot be determined until a bottom line is found. Each meaningful image region can be simultaneously written into the bitmap file while examining the bottom line of the scanned image. To find the bottom line, for each meaningful image region, sample a plurality of line areas to determine if the meaningful image region contains the bottom line. For each meaningful image region examined, sum up the total number of image lines until the bottom line is reached. Eventually, when the bottom line is found, the width and length of the scanned image will be written into the header of the bitmap file.

Inventors

  • 👤 Jenny Kao

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-10 02:05
CPC Classifications
H; H04; H04N; H04N1/00; H04N1/00681; H04N1/00684; H04N1/00708; H04N1/0071; H04N1/00713; H04N1/00729; H04N1/00734; H04N1/00737; H04N1/00795; H04N1/00798; H04N1/00816; H04N1/00819; H04N1/387; H04N1/3872

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 314 words
A method for real-time auto-cropping a scanned image, comprising the steps of: (a) sequentially reading each partial image block from a scanner until a first meaningful image region is found, and then storing said each partial image block in a memory means of said scanner; (b) recording an attribute of each pixel of said each partial image block in a memory space until said first meaningful image region is found, said attribute indicating if a pixel is meaningful or meaningless; (c) computing a position of a leftmost start pixel and a position of a rightmost end pixel of said first meaningful image region after said first meaningful image region is found; (d) sampling a plurality of line areas in each meaningful image region for determining a position of a bottom line for said scanned image; (e) computing the width of said first meaningful image region based on said position of said leftmost start pixel and said position of said rightmost end pixel; (f) resetting a scan width for said scanner to read subsequent image data in response to said width computed in said step (e); (g) reading each subsequent meaningful image region until a bottom line is found, and directly writing the valid image data of said each subsequent partial image block into a bitmap file, and summing up the total number of image lines of the valid image data in said each subsequent meaningful image region, or transmitting said valid image data to an upper level image application program; and (h) setting the sum of the total number of image lines of the valid image data in said each meaningful image region as the length of said scanned image, and writing said width and said length into the header of said bitmap file, or sending a file terminating signal to an upper level image application program to stop reading said valid image data.
Claim 2
Independent Claim 314 words
A method for real-time auto-cropping a scanned image, comprising the steps of: (a) sequentially reading each partial image block from a scanner until a first meaningful image region is found, and then storing said each partial image block in a memory means of said scanner; (b) recording an attribute of each pixel of said each partial image block in a memory space until said first meaningful image region is found, said attribute indicating if a pixel is meaningful or meaningless; (c) computing a position of a leftmost start pixel and a position of a rightmost end pixel of said first meaningful image region after said first meaningful image region is found; (d) sampling a plurality of line areas in each meaningful image region for determining a position of a bottom line for said scanned image; (e) computing the width of said first meaningful image region based on said position of said leftmost start pixel and said position of said rightmost end pixel; (f) resetting a scan width for said scanner to read subsequent image data in response to said width computed in said step (e); (g) reading each subsequent meaningful image region until a bottom line is found, and directly writing the valid image data of said each subsequent partial image block into a bitmap file, and summing up the total number of image lines of the valid image data in said each subsequent meaningful image region, or transmitting said valid image data to an upper level image application program; and (h) setting the sum of the total number of image lines of the valid image data in said each meaningful image region as the length of said scanned image, and writing said width and said length into the header of said bitmap file, or sending a file terminating signal to an upper level image application program to stop reading said valid image data.
Claim 3
Dependent Claim 58 words
The method as claimed in claim 1 , wherein said step (b) comprises the steps of: determining a pixel is a meaningless pixel when the R,G,B values of said pixel are smaller than predetermined R,G,B values; and determining said pixel is a meaningful pixel when the R,G,B values of said pixel are larger than said predetermined R,G,B values.
Claim 4
Dependent Claim 101 words
The method as claimed in claim 1 , wherein said step (c) comprises the steps of: recording a sequence number of each meaningful pixel first found in each horizontal line of said first meaningful image region in a first array; recording a sequence number of each meaningful pixel last found in each horizontal line of said first meaningful image region in a second array; computing the position of said leftmost start pixel by averaging all the sequence numbers in said first array; and computing the position of said rightmost end pixel by averaging all the sequence numbers in said second array.
Claim 5
Dependent Claim 95 words
The method as claimed in claim 1 , wherein said step (d) comprises the steps of: selecting a plurality of line areas for each meaningful image region, each of said line areas comprising a plurality of image lines; selectively reading pixels in each of said line areas for every predetermined number of pixels; determining a line area as meaningful when the number of meaningful pixels in said line area exceeding a predetermined percentage; and determining a line area as meaningless when the number of meaningful pixels in said line area being below said predetermined percentage.
Claim 6
Dependent Claim 26 words
The method as claimed in claim 1 , wherein said width and said length of said scanned image is defined in terms of bitmap file format.
Claim 7
Dependent Claim 180 words
The method as claimed in claim 4 , further comprises the step of: when said line areas are sampled at the first time and read via a TWAIN user interface access which requesting to directly receive said image data from said memory means of said scanner, filling in the data required for a program parameter and passing said program parameter to an upper level image application program, said data required for a program parameter comprising the pointer of said meaningful image region in said memory means, and the number of image lines of the valid image data in said meaningful image region; when said line areas are sampled at the first time, and read via a TWAIN user interface access which requesting to return an image file, writing said meaningful image region into said image file; and when said line areas are sampled at the first time, and read via a non-user interface access, writing said meaningful image region into said image file, summing up the total number of image lines returned, and receiving image data returned from said scanner.
Claim 8
Dependent Claim 205 words
The method as claimed in claim 4 , further comprises the steps of: when said line areas are sampled at the last time, and read via a TWAIN user interface access which requesting to directly receive image data from said memory means of said scanner, filling in the data required for a program parameter and passing said program parameter to an upper level image application program, said data required for a program parameter comprising the pointer of said meaningful image region in said memory means, the number of valid image lines of said meaningful image region, and file close data; when said line areas are sampled at the last time, and read via a TWAIN user interface access which requesting to return an image file, writing said meaningful image region into said image file, summing up the total number of current meaningful image lines, filing in the bitmap file header, and closing said bitmap file; and when said line areas are sampled at the last time, and read via a nonuser interface access, summing up the total number of current meaningful image lines, filing in the bitmap file header, and closing said bitmap file; and sending a control signal to said scanner to stop scanning.
Claim 9
Dependent Claim 73 words
The method as claimed in claim 1 , further comprising the steps of: (i) closing said bitmap file and passing the file name of said bitmap file as a program parameter to an upper level image application program, or returning said image data and a file terminating signal to said upper level image application program; and (j) sending a control signal to said scanner to stop scanning when said bottom line is found.
Claim 10
Independent Claim 256 words
A method for real-time auto-cropping a scanned image, comprising the steps of: (a) looking for a first meaningful image region in a partial image block, and writing the image data of said first meaningful image region into a bitmap file, and summing up the total number of image lines of said first meaningful image region; (b) computing the width of said first meaningful image region; (c) resetting a scan width for a scanner to read subsequent image data; (d) sampling a plurality of line areas in each partial image block for determining a location of a bottom line for said scanned image; (e) reading each subsequent meaningful image region until a bottom line is found, and directly writing the image data of each of said subsequent meaningful image region into said bitmap file, and summing up the total number of image lines for each of said subsequent meaningful image region; (f) setting said sum of the total number of image lines as the length of said scanned image, and writing said width and said length into the header of said bitmap file, or transmitting said valid image data to an upper level image application program; and (g) closing said bitmap file, and passing the file name of said bitmap file as a parameter to an upper level image application program or a data source, or sending a file terminating signal to an upper level image application program to stop reading said valid image data; and (h) sending a control signal to said scanner to stop scanning.
Claim 11
Independent Claim 256 words
A method for real-time auto-cropping a scanned image, comprising the steps of: (a) looking for a first meaningful image region in a partial image block, and writing the image data of said first meaningful image region into a bitmap file, and summing up the total number of image lines of said first meaningful image region; (b) computing the width of said first meaningful image region; (c) resetting a scan width for a scanner to read subsequent image data; (d) sampling a plurality of line areas in each partial image block for determining a location of a bottom line for said scanned image; (e) reading each subsequent meaningful image region until a bottom line is found, and directly writing the image data of each of said subsequent meaningful image region into said bitmap file, and summing up the total number of image lines for each of said subsequent meaningful image region; (f) setting said sum of the total number of image lines as the length of said scanned image, and writing said width and said length into the header of said bitmap file, or transmitting said valid image data to an upper level image application program; and (g) closing said bitmap file, and passing the file name of said bitmap file as a parameter to an upper level image application program or a data source, or sending a file terminating signal to an upper level image application program to stop reading said valid image data; and (h) sending a control signal to said scanner to stop scanning.
Claim 12
Dependent Claim 37 words
The method as claimed in claim 9 , wherein each pixel of said meaningful image regions is determined to be a meaningful pixel when the R,G,B values of said pixel are larger than said predetermined R,G,B values.
Claim 13
Dependent Claim 101 words
The method as claimed in claim 9 , wherein said step (b) comprises the steps of: recording a sequence number of each meaningful pixel first found in each horizontal line of said first meaningful image region in a first array; recording a sequence number of each meaningful pixel last found in each horizontal line of said first meaningful image region in a second array; computing said position of said leftmost start pixel by averaging all the sequence numbers in said first array; and computing said position of said rightmost end pixel by averaging all the sequence numbers in said second array.
Claim 14
Dependent Claim 95 words
The method as claimed in claim 9 , wherein said step (d) comprises the steps of: selecting a plurality of line areas for each meaningful image region, each of said line areas comprising a plurality of image lines; selectively reading pixels in each of said line areas for every predetermined number of pixels; determining a line area as meaningful when the number of meaningful pixels in said line area exceeding a predetermined percentage; and determining a line area as meaningless when the number of meaningful pixels in said line area being below said predetermined percentage.
Claim 15
Dependent Claim 26 words
The method as claimed in claim 9 , wherein said width and said length of said scanned image is defined in terms of bitmap file format.
Claim 16
Dependent Claim 180 words
The method as claimed in claim 12 , further comprises the steps of: when said line areas are sampled at the first time and read via a TWAIN user interface access which requesting to directly receive said image data from said memory means of said scanner, filling in the data required for a program parameter and passing said program parameter to an upper level image application program, said data required for a program parameter comprising the pointer of said meaningful image region in said memory means, and the number of image lines of the valid image data in said meaningful image region; when said line areas are sampled at the first time, and read via a TWAIN user interface access which requesting to return an image file, writing said meaningful image region into said image file; and when said line areas are sampled at the first time, and read via a non-user interface access, writing said meaningful image region into said image file, summing up the total number of image lines returned, and receiving image data returned from said scanner.
Claim 17
Dependent Claim 205 words
The method as claimed in claim 12 , further comprises the steps of: when said line areas are sampled at the last time, and read via a TWAIN user interface access which requesting to directly receive image data from said memory means of said scanner, filling in the data required for a program parameter and passing said program parameter to an upper level image application program, said data required for a program parameter comprising the pointer of said meaningful image region in said memory means, the number of valid image lines of said meaningful image region, and file close data; when said line areas are sampled at the last time, and read via a TWAIN user interface access which requesting to return an image file, writing said meaningful image region into said image file, summing up the total number of current meaningful image lines, filing in the bitmap file header, and closing said bitmap file; and when said line areas are sampled at the last time, and read via a nonuser interface access, summing up the total number of current meaningful image lines, filing in the bitmap file header, and closing said bitmap file; and sending a control signal to said scanner to stop scanning.

References Cited (Backward Citations)

US4482924A Cited
US5781665A Cited
US5880858A Cited
US6360026B1 Cited
US6310984B2 Cited
US6201619B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-09-16 2006-03-18 2006-09-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-09-16 2010-03-18 2010-09-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-09-16 2014-03-18 2014-09-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag