IP Library Granted Patent US 10,699,413
Granted Patent B1
US 10,699,413 · App. 15/934,648 · Granted Jun 30, 2020

Automatic image cropping systems and methods

Inventor: Omar Ahmed Ansari (Richmond, VA)
Assignee: CARMAX BUSINESS SERVICES, LLC
G06T7/11G06K9/4604G06T7/13G06T2207/20132
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 10,699,413
App. No.
15/934,648
Granted
Jun 30, 2020
Kind
B1
Abstract

A system includes one or more memory devices storing instructions, and one or more processors configured to execute the instructions to perform the steps of a method to automatically crop images. The system may convert a raw image into a grayscale image before applying an edge detection operator to the grayscale image to create an edge image. The system may then create a binary image based on the edge image, identify one or more contours in the binary image, and determine one or more contour bounding image areas surrounding the contour(s). Upon identifying contour bounding image area(s) having user-specified dimensional criteria, the system may determine a minimum bounded image area including those area(s), pad the minimum bounded image area, and crop the raw image based on the padded bounded area.

Claims (66)

1. An automatic image cropping system comprising:

one or more processors; and

a memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to:

convert a raw image into a grayscale image, the raw image having one or more features corresponding to an image subject;

apply an edge detection operator to the grayscale image to create an edge image, the edge image having one or more edge image regions corresponding to the one or more features in the raw image;

create a binary image based on the edge image, the binary image having one or more binary image regions associated with the one or more edge image regions in the edge image;

identify one or more contours in the binary image, each contour associated with a respective one of the one or more binary image regions;

determine one or more contour bounding image areas, each contour bounding area surrounding one of the one or more identified contours;

identify at least one of the one or more contour bounding image areas having user-specified dimensional criteria;

determine a minimum bounded image area that includes the one or more contour bounding image areas having user-specified dimensional criteria, wherein the minimum bounded image area surrounds the one or more contour bounding image areas having the user-specified dimensional criteria and the minimum bounded image area defines a region corresponding to the image subject, and the user-specified dimensional criteria comprises a maximum horizontal dimension and a minimum vertical dimension;

pad the minimum bounded image area by identifying one or more pixels bordering at least a portion of the minimum bounded image area to determine a padded bounded image area having a user-specified aspect ratio; and

crop the raw image based on the padded bounded area to produce a cropped raw image of the image subject with the user-specified aspect ratio.

2. The system of claim 1 wherein applying an edge detection operator further comprises applying a Sobel edge operator.

3. The system of claim 1 wherein the minimum bounded image area further comprises a minimum bounded rectangle.

4. The system of claim 1 wherein the one or more contour bounding image areas further comprise a minimum bounded rectangle.

5. An automatic image cropping system comprising:

a first node of a plurality of nodes;

a central node of the plurality of nodes, the central node being in communication with the first node;

one or more processors; and

a memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to:

obtain, at the first node, an edge image having one or more edge image pixel groupings comprising a first edge image pixel grouping corresponding to a first feature in a raw image, the raw image having one or more features corresponding to an image subject;

create, at the first node, a binary image based on the edge image, the binary image having one or more binary image pixel groupings comprising a first binary image pixel grouping associated with the first edge image pixel grouping in the edge image;

identify, at the first node, one or more contours in the binary image comprising a first contour associated with the first binary image pixel grouping;

determine, at the first node, one or more contour bounding image areas, each contour bounding area surrounding one of the one or more identified contours;

identify, at the first node, one of the one or more contour bounding image areas having user-specified dimensional criteria;

determine, at the first node, a minimum bounded image area that (i) contains the one or more contour bounding image areas having user-specified dimensional criteria comprising a maximum horizontal dimension and a minimum vertical dimension and (ii) corresponds with a region associated with the image subject;

pad, at the first node, the minimum bounded image area by identifying one or more pixels bordering at least a portion of the minimum bounded image area to determine a padded bounded image area having a user-specified aspect ratio;

crop, at the first node, the raw image based on the padded bounded area to produce a cropped raw image of the image subject with the user-specified aspect ratio; and

transmit, from the first node, the cropped raw image to the central node.

6. The system of claim 5 , wherein the one or more edge image pixel groupings further comprises:

a second edge image pixel grouping corresponding to a second feature in the raw image;

the one or more binary image pixel groupings further comprises a second binary image pixel grouping associated with the second edge image pixel grouping in the edge image; and

the one or more contours further comprises a second contour associated with the second binary image pixel grouping.

7. The system of claim 6 , wherein obtaining the edge image further comprises:

converting a raw image into a grayscale image; and

applying an edge detection operator to the grayscale image to create an edge image.

8. The system of claim 6 wherein the minimum bounded image area further comprises a minimum bounded rectangle.

9. The system of claim 6 wherein the one or more contour bounding image areas further comprise a minimum bounded rectangle.

10. The system of claim 7 wherein the edge detection operator further a Sobel edge operator.

11. An automatic image cropping system comprising:

one or more processors; and

a memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to:

convert a raw image into a grayscale image, the raw image having one or more features corresponding to an image subject;

apply an edge detection operator to the grayscale image to create an edge image, the edge image having one or more image regions corresponding to one or more features in the raw image;

identify one or more contours in the edge image, each contour associated with an image region;

determine a minimum bounded image area that (i) surrounds at least one of the one or more contours that resides within a maximum horizontal dimension and a minimum vertical dimension and (ii) defines a region corresponding with the image subject;

pad the minimum bounded image area by identifying one or more pixels bordering at least a portion of the minimum bounded image area to determine a padded bounded image area having a user-specified aspect ratio; and

crop the raw image based on the padded bounded area to produce a cropped raw image of the image subject with the user-specified aspect ratio.

12. The system of claim 11 , wherein identifying one or more contours in the edge image further comprises:

creating a binary image based on the edge image, the binary image having one or more binary image regions associated with the image regions in the edge image;

identifying one or more contours in the binary image, each contour associated with the binary image region.

13. The system of claim 12 , wherein identifying one or more contours in the binary image further comprises:

determining one or more contour bounding image areas, each contour bounding area surrounding one of the one or more identified contours; and

identifying one of the one or more contour bounding image areas having user-specified dimensional criteria.

14. The system of claim 13 wherein determining a minimum bounded image area further comprises including the one or more contour bounding image areas having user-specified dimensional criteria.

15. The system of claim 14 wherein applying the edge detection operator further comprises applying a Sobel edge operator.

16. The system of claim 14 wherein the minimum bounded image area further comprises a minimum bounded rectangle.

17. The system of claim 14 wherein the image subject comprises a motor vehicle.

18. The system of claim 1 , wherein the instructions, when executed by the one or more processors, are configured to cause the system to discard zero or more contour bounding image areas not having user-specified dimensional criteria.

19. The system of claim 5 , wherein the instructions, when executed by the one or more processors, are configured to cause the system to:

identify one or more contour bounding image areas not having user-specified dimensional criteria; and

discard the identified one or more bounding image areas not having the user-specified dimensional criteria.

20. The system of claim 11 , wherein the instructions, when executed by the one or more processors, are configured to cause the system to:

identify a first set of the one or more contours that reside within the maximum horizontal dimension and the minimum vertical dimension, the minimum bounded image area surrounding the first set of the one or more contours;

identify a second set of the one or more contours that reside outside of the maximum horizontal dimension and the minimum vertical dimension; and

discard the second set of the one or more contour bounding image areas not having user-specified dimensional criteria.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 059738 FRAME: 0421. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 10, 2024
From: CARMAX AUTO SUPERSTORES WEST COAST, INC.
To: CARMAX ENTERPRISE SERVICES, LLC
Reel/Frame 066255/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2022
From: CARMAX BUSINESS SERVICES, LLC
To: CARMAX AUTO SUPERSTORES WEST COAST, INC.
Reel/Frame 059738/0414 →
MERGER Recorded Apr 26, 2022
From: CARMAX AUTO SUPERSTORES WEST COAST, INC.
To: CARMAX ENTERPRISE SERVICES, LLC
Reel/Frame 059738/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2018
From: ANSARI, OMAR AHMED
To: CARMAX BUSINESS SERVICES, LLC
Reel/Frame 045458/0460 →
Cited By (2)
US 12,198,292 US 12,620,222