Image to pattern enhancement system
A quilt arrangement engine, a non-transitory, computer-readable medium storing one or more machine-readable instructions that, when executed, cause the one or more processors to perform quilt arrangement engine operations is disclosed. The engine operations include receiving a digital bitmap image and undertaking process steps to generate and store a determined path order as an ordered collection of vector descriptors for quilting.
1 . A quilt-making machine, comprising:
a computer-controlled sewing machine;
a quilt arrangement engine comprising one or more processors; and
a non-transitory, computer-readable medium storing one or more machine-readable instructions that, when executed, cause the one or more processors to perform quilt arrangement engine operations, the quilt arrangement engine operations comprising:
receiving a digital bitmap image;
detecting edges in the digital bitmap image;
transforming the detected edges into a plurality of vectors;
displaying, by a graphical user interface, the plurality of vectors as a vector image;
receiving, from a user using the graphical user interface, a selection of one or more vectors of the plurality of vectors;
determining a path order based on the received selection of one or more vectors;
storing, in a non-transitory, computer-readable medium, the determined path order as an ordered collection of vector descriptors;
receiving, from the user using the graphical user interface, a selection of one or more color filters; and
filtering the digital bitmap image based on the received selection of one or more color filters.
2 . The quilt-making machine of claim 1 , wherein detecting edges in the digital bitmap image further comprises one or more of:
performing a gradient-based analysis of the digital bitmap image;
performing a second-order derivative analysis of the digital bitmap image;
performing canny edge detection to the digital bitmap image;
applying a machine learning algorithm to the digital bitmap image;
performing wavelet transformation to the digital bitmap image; and
applying a fuzzy logic algorithm to the digital bitmap image.
3 . The quilt-making machine of claim 1 , the operations further comprising pre-processing the digital bitmap image to enhance edges in the digital bitmap image, wherein the pre-processing comprises one or more of:
converting the digital bitmap image from a color image to a grayscale image;
filtering the digital bitmap image by color;
applying a machine learning algorithm;
despeckling the digital bitmap image;
applying a Fourier transform;
applying Gaussian blur;
applying a bilateral filter;
applying a median filter;
applying histogram equalization;
applying unsharp masking;
performing color space conversion; and
applying image thresholding.
4 . The quilt-making machine of claim 1 , the operations further comprising filtering the plurality of vectors to determine a subset of vectors, wherein the vector image is based on the determined subset of vectors.
5 . The quilt-making machine of claim 1 , the operations further comprising: identifying two or more adjacent vectors of the received selection of one or more vectors; and
transforming the identified two or more adjacent vectors into a combined vector.
6 . The quilt-making machine of claim 1 , wherein determining a path order based on the received selection of one or more vectors comprises:
determining a first path-to-path order for the received selection of one or more vectors, wherein each of the vectors is representative of a machine movement path;
determining a first traversal distance between paths in the first path-to-path order;
determining a second path-to-path order, different from the first path-to-path order, for the received selection of one or more vectors;
determining a second traversal distance between paths in the second path-to-path order; and
providing the first path-to-path order as the determined path order based on a determination that the first traversal distance is less than the second traversal distance; or
providing the second path-to-path order as the determined path order based on a determination that the second traversal distance is less than the first traversal distance.
7 . The quilt-making machine of claim 1 , wherein the operations further comprise transforming the ordered collection of vector descriptors into an ordered collection of machine control instructions.
8 . The quilt-making machine of claim 1 , wherein the operations further comprise controlling operation of the computer-controlled sewing machine based on the ordered collection of vector descriptors.
9 . A computer-implemented method for arranging a quilt, the method comprising:
receiving a digital bitmap image;
detecting edges in the digital bitmap image;
transforming the detected edges into a plurality of vectors;
displaying, by a graphical user interface, the plurality of vectors as a vector image;
receiving, from a user using the graphical user interface, a selection of one or more vectors of the plurality of vectors;
determining a path order based on the received selection of one or more vectors;
storing, in a non-transitory, computer-readable medium, the determined path order as an ordered collection of vector descriptors;
receiving, from the user using the graphical user interface, a selection of one or more color filters; and
filtering the digital bitmap image based on the received selection of one or more color filters.
10 . The computer-implemented method of claim 9 , wherein detecting edges in the digital bitmap image further comprises one or more of:
performing a gradient-based analysis of the digital bitmap image;
performing a second-order derivative analysis of the digital bitmap image;
performing canny edge detection to the digital bitmap image;
applying a machine learning algorithm to the digital bitmap image;
performing wavelet transformation to the digital bitmap image; and
applying a fuzzy logic algorithm to the digital bitmap image.
11 . The computer-implemented method of claim 9 , further comprising pre-processing the digital bitmap image to enhance edges in the digital bitmap image, wherein the pre-processing comprises one or more of:
converting the digital bitmap image from a color image to a grayscale image;
filtering the digital bitmap image by color;
applying a machine learning algorithm;
despeckling the digital bitmap image;
applying a Fourier transform;
applying Gaussian blur;
applying a bilateral filter;
applying a median filter;
applying histogram equalization;
applying unsharp masking;
performing color space conversion; and
applying image thresholding.
12 . The computer-implemented method of claim 9 , further comprising filtering the plurality of vectors to determine a subset of vectors, wherein the vector image is based on the determined subset of vectors.
13 . The computer-implemented method of claim 9 , further comprising;
identifying two or more adjacent vectors of the received selection of one or more vectors; and
transforming the identified two or more adjacent vectors into a combined vector.
14 . The computer-implemented method of claim 9 , wherein determining a path order based on the received selection of one or more vectors comprises:
determining a first path-to-path order for the received selection of one or more vectors, wherein each of the vectors is representative of a machine movement path;
determining a first traversal distance between paths in the first path-to-path order;
determining a second path-to-path order, different from the first path-to-path order, for the received selection of one or more vectors;
determining a second traversal distance between paths in the second path-to-path order; and
providing the first path-to-path order as the determined path order based on a determination that the first traversal distance is less than the second traversal distance; or
providing the second path-to-path order as the determined path order based on a determination that the second traversal distance is less than the first traversal distance.
15 . The computer-implemented method of claim 9 , further comprising transforming the ordered collection of vector descriptors into an ordered collection of machine control instructions.
16 . The computer-implemented method of claim 9 , further comprising controlling operation of a computer-controlled sewing machine based on the ordered collection of vector descriptors.
17 . A quilt-making machine, comprising:
a computer-controlled sewing machine; and
a quilt arrangement engine comprising one or more processors; and
a non-transitory, computer-readable medium storing one or more machine-readable instructions that, when executed, cause the one or more processors to perform quilt arrangement engine operations, the quilt arrangement engine operations comprising:
receiving a digital bitmap image;
detecting edges in the digital bitmap image;
transforming the detected edges into a plurality of vectors;
displaying, by a graphical user interface, the plurality of vectors as a vector image;
receiving, from a user using the graphical user interface, a selection of one or more vectors of the plurality of vectors;
determining a path order, the determining comprising:
determining a first path-to-path order for the received selection of one or more vectors, wherein each of the vectors is representative of a machine movement path;
determining a first traversal distance between paths in the first path-to-path order;
determining a second path-to-path order, different from the first path-to-path order, for the received selection of one or more vectors;
determining a second traversal distance between paths in the second path-to-path order; and
providing the first path-to-path order as the determined path order based on a determination that the first traversal distance is less than the second traversal distance; or
providing the second path-to-path order as the determined path order based on a determination that the second traversal distance is less than the first traversal distance; and
storing, in a non-transitory, computer-readable medium, the determined path order as an ordered collection of vector descriptors.
18 . The quilt-making machine of claim 17 , wherein the operations further comprise controlling operation of the computer-controlled sewing machine based on the ordered collection of vector descriptors.
19 . A computer-implemented method for arranging a quilt, the method comprising:
receiving a digital bitmap image;
detecting edges in the digital bitmap image;
transforming the detected edges into a plurality of vectors;
displaying, by a graphical user interface, the plurality of vectors as a vector image;
receiving, from a user using the graphical user interface, a selection of one or more vectors of the plurality of vectors;
determining a path order based on the received selection of one or more vectors, wherein determining a path order based on the received selection of one or more vectors comprises:
determining a first path-to-path order for the received selection of one or more vectors, wherein each of the vectors is representative of a machine movement path;
determining a first traversal distance between paths in the first path-to-path order;
determining a second path-to-path order, different from the first path-to-path order, for the received selection of one or more vectors;
determining a second traversal distance between paths in the second path-to-path order; and
providing the first path-to-path order as the determined path order based on a determination that the first traversal distance is less than the second traversal distance; or
providing the second path-to-path order as the determined path order based on a determination that the second traversal distance is less than the first traversal distance; and
storing, in a non-transitory, computer-readable medium, the determined path order as an ordered collection of vector descriptors.
20 . The computer-implemented method of claim 19 , wherein detecting edges in the digital bitmap image further comprises one or more of:
performing a gradient-based analysis of the digital bitmap image;
performing a second-order derivative analysis of the digital bitmap image;
performing canny edge detection to the digital bitmap image;
applying a machine learning algorithm to the digital bitmap image;
performing wavelet transformation to the digital bitmap image; and
applying a fuzzy logic algorithm to the digital bitmap image.
21 . The computer-implemented method of claim 19 , further comprising controlling operation of a computer-controlled sewing machine based on the ordered collection of vector descriptors.