Machine vision based automatic maximal clamp measurement tool
First Claim
1. A non-transitory computer accessible memory medium that stores program instructions implementing a clamping tool, wherein the program instructions are executable by a processor to:
- receive an image, wherein the image includes curves corresponding to one or more objects in the image;
detect a plurality of curves in a specified region of interest (ROI) in the image, wherein the ROI has a specified direction, and wherein each curve comprises respective curve points;
determine a convex hull based on the respective curve points;
determine one or more candidate antipodal point pairs of the convex hull;
select a first point pair of the one or more antipodal point pairs based on one or more specified constraints;
determine a clamp angle corresponding to the first point pair;
determine a distance between the first point pair along a direction specified by the clamp angle; and
store the first point pair, the distance, and the clamp angle, wherein the first point pair, the distance, and the clamp angle, are useable to analyze the one or more objects.
5 Assignments
0 Petitions
Accused Products
Abstract
System and method for measuring distances in an image. An image is received that includes curves corresponding to one or more objects in the image. Multiple curves in a specified region of interest (ROI) in the image are detected, where the ROI has a specified direction. Each curve includes respective curve points. A convex hull is determined based on the respective curve points. One or more candidate antipodal point pairs of the convex hull are determined. A first point pair of the one or more antipodal point pairs is selected based on one or more specified constraints. A clamp angle corresponding to the first point pair is determined. A distance between the first point pair along a direction specified by the clamp angle is determined. The first point pair, the distance, and the clamp angle are stored. Calibration information may be applied at any point during the process.
-
Citations
24 Claims
-
1. A non-transitory computer accessible memory medium that stores program instructions implementing a clamping tool, wherein the program instructions are executable by a processor to:
-
receive an image, wherein the image includes curves corresponding to one or more objects in the image; detect a plurality of curves in a specified region of interest (ROI) in the image, wherein the ROI has a specified direction, and wherein each curve comprises respective curve points; determine a convex hull based on the respective curve points; determine one or more candidate antipodal point pairs of the convex hull; select a first point pair of the one or more antipodal point pairs based on one or more specified constraints; determine a clamp angle corresponding to the first point pair; determine a distance between the first point pair along a direction specified by the clamp angle; and store the first point pair, the distance, and the clamp angle, wherein the first point pair, the distance, and the clamp angle, are useable to analyze the one or more objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method, comprising:
utilizing a computer to perform; receiving an image, wherein the image includes curves corresponding to one or more objects in the image; detecting a plurality of curves in a specified region of interest (ROI) in the image, wherein the ROI has a specified direction, wherein each curve comprises respective curve points; determining a convex hull based on the respective curve points; determining one or more candidate antipodal point pairs of the convex hull; selecting a first point pair of the one or more antipodal point pairs based on one or more specified constraints; determining a clamp angle corresponding to the first point pair; determining a distance between the first point pair along a direction specified by the clamp angle; and storing the first point pair, the distance, and the clamp angle, wherein the first point pair, the distance, and the clamp angle, are useable to analyze the one or more objects.
-
11. A system, comprising:
-
a processor; a memory, coupled to the processor, wherein the memory stores program instructions executable by the processor to; receive an image, wherein the image includes curves corresponding to one or more objects in the image; detect a plurality of curves in a specified region of interest (ROI) in the image, wherein the ROI has a specified direction, wherein each curve comprises respective curve points; determine a convex hull based on the respective curve points; determine one or more candidate antipodal point pairs of the convex hull; select a first point pair of the one or more antipodal point pairs based on one or more specified constraints; determine a clamp angle corresponding to the first point pair; determine a distance between the first point pair along a direction specified by the clamp angle; and store the first point pair, the distance, and the clamp angle, wherein the first point pair, the distance, and the clamp angle, are useable to analyze the one or more objects. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system, comprising:
-
a functional unit; and a memory, coupled to the functional unit; wherein the functional unit is configured to; receive an image, wherein the image includes curves corresponding to one or more objects in the image; detect a plurality of curves in a specified region of interest (ROI) in the image, wherein the ROI has a specified direction, wherein each curve comprises respective curve points; determine a convex hull based on the respective curve points; determine one or more candidate antipodal point pairs of the convex hull; select a first point pair of the one or more antipodal point pairs based on one or more specified constraints; determine a clamp angle corresponding to the first point pair; determine a distance between the first point pair along a direction specified by the clamp angle; and store the first point pair, the distance, and the clamp angle, wherein the first point pair, the distance, and the clamp angle, are useable to analyze the one or more objects. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer accessible memory medium that stores program instructions implementing a clamping tool, wherein the program instructions are executable by a processor to:
-
receive an image, wherein the image includes curves corresponding to one or more objects in the image; detect a plurality of curves in a specified region of interest (ROI) in the image, wherein the ROI has a specified direction, wherein each curve comprises respective curve points in pixel-space; correct the curve points in pixel-space of each of the plurality of curves using calibration information, thereby generating a corresponding plurality of corrected curve points in corrected pixel-space; determine a convex hull of the plurality of corrected curve points; determine one or more candidate antipodal point pairs of the convex hull; convert the one or more candidate antipodal point pairs from corrected pixel-space to pixel-space, thereby generating one or more converted candidate antipodal point pairs; select a first point pair of the one or more converted candidate antipodal point pairs based on one or more specified constraints; determine a clamp angle corresponding to the first point pair; determine a distance between the first point pair along a direction specified by the clamp angle, thereby generating a pixel-space distance; convert the first point pair from pixel-space to real-world space, thereby generating a real-world point pair; determine a distance between the real-world point pair along the direction specified by the clamp angle, thereby generating a real-world distance; and store the first point pair, the pixel-space distance, the real-world point pair, the real-world distance, and the clamp angle, wherein first point pair, the pixel-space distance, the real-world point pair, the real-world distance, and the clamp angle are useable to analyze the one or more objects.
-
-
24. A system, comprising:
-
a functional unit; and a memory, coupled to the functional unit; wherein the functional unit is configured to; receive an image, wherein the image includes curves corresponding to one or more objects in the image; detect a plurality of curves in a specified region of interest (ROI) in the image, wherein the ROI has a specified direction, wherein each curve comprises respective curve points in pixel-space; correct the curve points in pixel-space of each of the plurality of curves using calibration information, thereby generating a corresponding plurality of corrected curve points in corrected pixel-space; determine a convex hull of the plurality of corrected curve points; determine one or more candidate antipodal point pairs of the convex hull; convert the one or more candidate antipodal point pairs from corrected pixel-space to pixel-space, thereby generating one or more converted candidate antipodal point pairs; select a first point pair of the one or more converted candidate antipodal point pairs based on one or more specified constraints; determine a clamp angle corresponding to the first point pair; determine a distance between the first point pair along a direction specified by the clamp angle, thereby generating a pixel-space distance; convert the first point pair from pixel-space to real-world space, thereby generating a real-world point pair; determine a distance between the real-world point pair along the direction specified by the clamp angle, thereby generating a real-world distance; and store the first point pair, the pixel-space distance, the real-world point pair, the real-world distance, and the clamp angle, wherein first point pair, the pixel-space distance, the real-world point pair, the real-world distance, and the clamp angle are useable to analyze the one or more objects.
-
Specification