IP Library › Granted Patent US 11,532,145
Granted Patent B2
US 11,532,145 · App. 16/241,904 · Granted Dec 20, 2022

Multi-region image scanning

Inventors: Onkar Nath Tiwari (Hyderabad, IN); Sachin Talreja (Hyderabad, IN); Abhishek Agarwal (Hyderabad, IN); Praveen Upadhyay (Hyderabad, IN); Rahul Bhuptani (Hyderabad, IN); Mahesh Sridharan (Hyderabad, IN)
Assignee: Microsoft Technology Licensing, LLC
G06V10/255G06T7/12G06T7/13G06V10/267G06V10/44
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,532,145
App. No.
16/241,904
Granted
Dec 20, 2022
Kind
B2
Abstract

An image captured by a camera can be processed by a scanning application to identify multiple regions within the image that are suitable for scanning. These regions can be detected and selected for scanning automatically. The captured regions for the single image can be stored as individual image content files.

Claims (79)

1. A data processing device comprising:

at least one processor; and

one or more computer readable media including instructions which, when executed by the at least one processor, cause the at least one processor to:

receive an image via an image scanning application;

reduce a resolution of the image by down-scaling;

detect a plurality of edges by applying an edge detection algorithm to the down-scaled image;

based on the plurality of edges, automatically detect a plurality of quadrangle-shaped discrete candidate regions within the down-scaled image by identifying:

corners where two edges of the plurality of edges intersect, and

quadrangles representing discrete candidate regions that include the corners;

identify a subset of the plurality of quadrangle-shaped discrete candidate regions, the subset including a first region and a second region;

detect a capture initiating signal;

capture, in response to the capture initiating signal, at least the first region and the second region in a substantially parallel process; and

store at least a first image content corresponding to the first region and a second image content corresponding to the second region in a scanned images folder.

2. The device of claim 1 , wherein the instructions further cause the at least one processor to:

present a graphical user interface for accessing of stored image content; and

present a first set of information for the first image content and a second set of information for the second image content on a device display.

3. The device of claim 1 , wherein the instructions further cause the at least one processor to:

present the image on a device display; and

overlay at least a first perimeter of the first region with a first visual indicator, and overlay at least a second perimeter of the second region with a second visual indicator.

4. The device of claim 1 , wherein the subset of the plurality of quadrangle-shaped discrete candidate regions further includes a third region; and wherein the instructions further cause the at least one processor to:

receive a first input, associated with the third region, for deselecting the third region; and

remove the third region from the subset of the plurality of quadrangle-shaped discrete candidate regions.

5. The device of claim 1 , wherein the instructions further cause the at least one processor to:

present the image on a device display as a first image preview; and

distinguish each of the plurality of quadrangle-shaped discrete candidate regions in the first image preview by an overlay of a visual indicator on at least a portion of each region.

6. The device of claim 5 , wherein the subset of the plurality of quadrangle-shaped discrete candidate regions further includes a third region; and wherein the instructions further cause the at least one processor to:

receive a first input, associated with the third region, for deselecting the third region; and

remove the visual indicator overlaid on the third region.

7. The device of claim 1 , wherein the instructions further cause the at least one processor to determine, prior to detecting the plurality of edges, whether pixels in the image are foreground pixels or background pixels by applying a segmentation algorithm to the pixels of the image, wherein the detecting of the plurality of edges is limited to only pixels of the image determined to be foreground pixels.

8. The device of claim 7 , wherein the first region is oriented at a first orientation and the second region is oriented at a second orientation, and wherein the first orientation differs from the second orientation.

9. The device of claim 1 , wherein a first area of the first region is larger than a second area of the second region.

10. The device of claim 1 , wherein the instructions further cause the at least one processor to:

partition the image into a plurality of segments via a clustering algorithm to produce a segmented image comprising a plurality of non-overlapping groups of pixels; and

apply the edge detection algorithm to the segmented image;

wherein the automatic detection of the plurality of quadrangle-shaped discrete candidate regions in the image is based at least on the application of the edge detection algorithm to the segmented image.

11. The data processing device of claim 1 , wherein to automatically detect the plurality of quadrangle-shaped discrete candidate regions further comprises instructions to cause the at least one processor to:

join edges from the plurality of edges to form the plurality of quadrangle-shaped discrete candidate regions.

12. A method comprising:

receiving an image via an image scanning application;

reducing a resolution of the image by down-scaling;

detecting a plurality of edges by applying an edge detection algorithm to the down-scaled image;

automatically detecting a plurality of quadrangle-shaped discrete candidate regions within the down-scaled image by forming the plurality of quadrangle-shaped discrete candidate regions based on the plurality of edges and by identifying:

corners where two edges of the plurality of edges intersect, and

quadrangles representing discrete candidate regions that include the corners;

identifying a subset of the plurality of quadrangle-shaped discrete candidate regions, the subset including a first region and a second region;

receiving a capture initiating signal;

capturing, in response to the capture initiating signal, at least the first region and the second region in a substantially parallel process; and

storing at least a first image content corresponding to the first region and a second image content corresponding to the second region in a scanned images folder.

13. The method of claim 12 , further comprising:

presenting a graphical user interface for accessing of stored image content; and

presenting a first set of information for the first image content and a second set of information for the second image content on a device display.

14. The method of claim 12 , further comprising:

presenting the image on a device display; and

overlaying at least a first perimeter of the first region with a first visual indicator, and overlaying at least a second perimeter of the second region with a second visual indicator.

15. The method of claim 12 , wherein the subset of the plurality of quadrangle-shaped discrete candidate regions further includes a third region; and wherein the method further comprises:

receiving a first input, associated with the third region, for deselecting the third region; and

removing the third region from the subset of the plurality of quadrangle-shaped discrete candidate regions.

16. The method of claim 12 , further comprising:

presenting the image on a device display as a first image preview; and

distinguishing each of the plurality of quadrangle-shaped discrete candidate regions in the first image preview by an overlay of a visual indicator on at least a portion of each region.

17. The method of claim 16 , wherein the subset of the plurality of quadrangle-shaped discrete candidate regions further includes a third region; and wherein the method further comprises:

receiving a first input, associated with the third region, for deselecting the third region; and

removing the visual indicator overlaid on the third region.

18. The method of claim 12 , further comprising determining, prior to detecting the plurality of edges, whether pixels in the image are foreground pixels or background pixels by applying a segmentation algorithm to the pixels of the image, wherein the detecting of the plurality of edges is limited to only pixels determined to be foreground pixels.

19. The method of claim 12 , further comprising:

partitioning the image into a plurality of segments via a clustering algorithm to produce a segmented image comprising a plurality of non-overlapping groups of pixels; and

applying the edge detection algorithm to the segmented image;

wherein automatically detecting the plurality of quadrangle-shaped discrete candidate regions in the image is based at least on the application of the edge detection algorithm to the segmented image.

20. A computer program product stored on a non-transitory computer-readable storage medium on which are stored instructions that, when executed, cause a processor of a programmable device to perform functions of:

receiving an image via an image scanning application;

reducing a resolution of the image by down-scaling;

detecting a plurality of edges by applying an edge detection algorithm to the down-scaled image;

automatically detecting a plurality of quadrangle-shaped discrete candidate regions within the down-scaled image by forming the plurality of quadrangle-shaped discrete candidate regions, based on the plurality of edges and by identifying:

corners where two edges of the plurality of edges intersect, and

quadrangles representing discrete candidate regions that include the corners;

identifying a subset of the plurality of quadrangle-shaped discrete candidate regions, the subset including a first region and a second region;

receiving a capture initiating signal;

capturing, in response to the capture initiating signal, at least the first region and the second region in a substantially parallel process; and

storing at least a first image content corresponding to the first region and a second image content corresponding to the second region in a scanned images folder.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2019
From: AGARWAL, ABHISHEK; SRIDHARAN, MAHESH; TIWARI, ONKAR NATH; UPADHYAY, PRAVEEN; BHUPTANI, RAHUL; TALREJA, SACHIN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 048113/0861 →
Continuity (1)
Related Publication 20200218924A1 · Jul 9, 2020