This application is based upon and claims the benefit of priority from the prior Japanese Patent Application 2011-174907, filed on, Aug. 10, 2011, the entire contents of which are incorporated herein by reference.
The disclosure relates to a data generator that may generate embroidery data of an embroidery pattern including a plurality of color-based pattern portions, a computer readable recording medium storing a program which generates data for embroidery, and a sewing machine that may sew the embroidery pattern based on the embroidery data.
Conventionally, sewing machines, which sew the embroidery pattern based on the embroidery data, have been known. For the sewing machines, the embroidery data may be stored in storage devise in the sewing machines or external storage devise such as ROM (Read Only Memory) cards or flexible disks. Users may select a desirable embroidery pattern from a plurality of embroidery patterns. The sewing machines load the selected embroidery data to stitch the embroidery pattern to a fabric.
The embroidery pattern includes a plurality of pattern-by-color portions. The embroidery data of the embroidery pattern includes thread color data which identify a color of the pattern-by-color portion. Each of the plurality of pattern-by-color portions is sewn by the thread color which is predetermined as the thread color data. If a color of each of the plurality of pattern-by-color portions is analogous to a color of the fabric, it would be difficult to distinguish the pattern-by-color portion from the fabric. Specifically, in the case that an embroidery pattern of a flower is sewn into a fabric with the same color as that of the pattern-by-color portion of a petal of the flower, it would be difficult to distinguish the petal from the fabric. Thus, the embroidery pattern would be strange because of the lack of the petal.
Some data generators may store coloring data which represent combinations of preferable colors. The data generators may set a color of the thread color data of the pattern-by-color portion based on the coloring data and the fabric data which represent a color of the fabric. The data generators may determine the pattern-by-color portion in the color of the embroidery pattern unambiguously based on the color of the fabric and the coloring data. Some user may prefer to sew each of the plurality of pattern-by-color portions with a preferable color or a strange color rather than with a predetermined color. However, setting a color of the embroidery pattern preferably would be troublesome because it is required to load data of the pattern-by-color portion and to confirm and designate corresponding thread color data.
The disclosure may provide a data generator, a non-transitory computer readable recording medium storing computer readable instructions, and a sewing machine that may obtain an embroidery pattern which includes various color patterns based on colors preferred by a user.
A data generator includes a memory and a processor. The memory may store a plurality of predetermined colors. The processor may control the data generator to assign a color, to display an embroidery pattern, to designate a color of the thread color data, and to allocate the designated color. The color, which is extracted randomly from the plurality of predetermined colors, may be assigned as a thread color data of each of a plurality of color-based pattern portions. The embroidery pattern may be displayed to a screen with the color assigned to each of the plurality of color-based pattern portions. The color of the thread color data designated from each of the plurality of color-based pattern portions may be included in the displayed embroidery pattern. The designated color may be allocated with priority over the plurality of predetermined colors for each of the plurality of color-based pattern portions.
One embodiment of the disclosure is exemplified through a household sewing machine hereinafter referred to as a sewing machine M and will be described in detail with reference to
Referring to
At one end of the arm 3 distal from the pillar 2, a needle bar 5a and a presser bar not shown are provided. The needle bar 5a has a sewing needle 5 attached to it whereas the presser bar has a presser foot 6 attached to it. Though not shown, the arm 3 further contains components such as a needle-bar drive mechanism, a needle-bar swing mechanism, a thread take-up drive mechanism, and a presser-bar drive mechanism. The needle-bar drive mechanism moves the needle bar 5a up and down through the rotation of the main shaft. The needle-bar swing mechanism swings the needle bar 5a in a direction orthogonal to the direction in which the fabric is fed. In the present embodiment, the needle bar 5a is swung in the left and right direction. The thread take-up drive mechanism drives the thread-take up and down in synchronism with the up and down movement of the needle bar 5a. The presser-bar drive mechanism drives the presser bar up and down.
At the upper portion of the arm 3, an openable/closable cover 3a is provided that, when opened, reveals a slot 10a defined on the forward mid portion of the arm 3 for storing a thread spool 10. Needle thread drawn from the thread spool 10 is engaged with a number of components such as the thread take-up that define a thread passageway to be ultimately supplied to the sewing needle 5.
On the front side of the arm 3, various operation switches such as a start/stop switch 8a for starting and stopping a sewing operation is provided as well as a speed adjustment dial 8b for setting the sewing speed, in other words, the speed of rotation of the main shaft.
On the front face of the pillar 2, a sizable and vertically elongate liquid crystal display 9 capable of displaying in full color is provided, which is hereinafter simply referred to as an LCD 9. The LCD 9 displays various information such selection of patterns/stitches including embroidery patterns and utility stitches, names of various functionalities to be executed in a sewing operation, and user interfaces such as screens such as those shown in
On the right side surface of the pillar 2, a card slot 12 is provided for insertion of a memory card 11 only shown in
On the upper surface of the bed 1, a needle plate not shown is provided. Within the bed 1 below the needle plate components such as a cloth feed mechanism, a horizontal shuttle mechanism, and a thread cutter are provided neither of which are shown. The cloth feed mechanism drives a feed dog up and down and backend forth. The horizontal shuttle mechanism contains a bobbin and forms stitches in cooperation with a sewing needle 5. The thread cutter mechanism cuts a needle thread and a bobbin thread.
The bed 1 allows detachable attachment of an embroidery frame transfer device 13 at its left end. The embroidery frame transfer device 13 is primarily configured by a body 14 and a movable section 15. The body 14 is substantially level with the upper surface of the bed 1 when the embroidery frame transfer device 13 is attached to the bed 1. The movable member 15 is provided on the upper surface of the body 14 so as to be movable in the left and right direction over the body 14. The embroidery frame transfer device 13 is further provided with a carriage 17, an X-direction transfer mechanism and a Y-direction transfer mechanism that are neither shown. The carriage 17 is attached to the movable member 15 so as to be movable in the front and rear direction relative to the movable member 15 and allows detachable attachment of an embroidery frame 16 which holds a fabric CL to be sewn. The X-direction transfer mechanism drives the carriage 17 as well as the movable member 15 in the left and right direction. The Y-direction transfer mechanism drives the carriage 17 in the front and rear direction. The X- and Y-direction transfer mechanisms are each provided with a dedicated motor later described, which are identified as an X-axis motor 18 and a Y-axis motor 19 shown in
Next, a description will be given on a control system of the sewing machine M with reference to the block diagram of
A controller 21 is primarily configured by a microcomputer including a CPU 22, a ROM 23, a RAM 24, a card slot 12, an input interface 27a, an output interface 27b, and a bus 28 that interconnects the foregoing elements. The input interface 27a establishes connection with components such as a start/stop switch 8a and a touch panel 9a, whereas the output interface 27b establishes connection with components such as sewing machine motor 4, an X-axis motor 18, a Y-axis motor 19, the LCD 9 and drive circuits 31, 32, 33, and 34 that drive the foregoing components, respectively. The controller 21, the LCD 9, and the drive circuit 34 are examples of a display unit. Components such as the controller 21, the touch panel 9a, the LCD 9, and the drive circuit 34 constitute embroidery data generator 30.
The ROM 23 pre-stores items such as embroidery data, a sewing control program, a master thread information table, and a display control program that controls the LCD 9. The master thread information table contains all the information pertaining to types of threads used in embroidering such as the later described color information, and product ID. The ROM 23 further stores an embroidery data processing program which makes the computer function as a processing unit for generating embroidery data. The foregoing programs and data may be stored in an internal storage such as an EEPROM 25 or an external storage such as a memory card 11. In case the embroidery data processing program is stored in the external storage, the controller 21 executes the program by loading it into the RAM 24.
The RAM 24 is provided with a storage area for temporarily storing items such as the above described programs, data, various settings made through the touch panel 9a, and the result of calculation by the controller 21.
The program storage area 241 stores various programs read from sources such as the ROM 23. The settings storage 242 stores settings and look-up tables being referred during program execution. The embroidery data storage area 243 stores the source data on which the embroidery data generation is based. The flag storage area 244 stores various flags used during program execution. The sewing condition storage area 245 stores various conditions applied when sewing a given embroidery pattern. The image display data storage area 246 stores image data and settings of the screens to be displayed on the LCD 9.
The color information storage area 247 is an area for storing data used in coloring the embroidery patterns and stores information such as the later described palette table containing palette-based color numbers. As later described in detail, the repository storage area 248 stores the colors designated by the user from the color-based pattern portions of the embroidery pattern. The extraction data storage area 249 is a primary storage area for storing colors randomly extracted from the palette table. The RAM 24 provided with the repository storage area 248 is one example of a second storage.
Next, an embroidery pattern in the context of the disclosure will be described through an example of an embroidery pattern 40 displayed on a screen 103 shown on LCD 9, which is an illustration of a flower. The embroidery pattern 40 comprises n number of color-based pattern portions identified as a first pattern portion 401 to nth pattern portion 40n. More specifically, the first pattern portion 901 that represent the petals of the flower are sewn in red, the second pattern portion 402 that represent the leaves are sewn in yellow, and the third pattern portion 403 that represent the stems are sewn in green. As described above, the pattern portions 401 to 40n are color-based pattern portions that are each assigned a color. The colors assigned to each of the pattern portions 401 to 40n need not be unique.
The embroidery data is used to sew embroidery patterns with the sewing machine M and comprises multiplicity of color-based pattern portion data for each embroidery pattern. Referring to
Still referring to
The EEPROM 25 stores color information from which a color is assigned to the embroidery data in the form of thread color data. The EEPROM 25 is one example of a first storage. The color information pertains, for example, to the colors of threads wound on thread spools 10 which are made available for use with the sewing machine M and is pre-defined in RGB values. In the present embodiment, some of the color information stored in the EEPROM 25 is implemented as a first palette table which contains information for producing a first color palette 56a shown in
The present embodiment further employs HSV color model which is a different representation of RGB values. HSV stands for Hue, Saturation, and Value and HSV value is calculated by the controller 21 based on RGB values by applying known calculation methods. Hue H indicates the type of color such as red, purple, and blue, and is represented by a numerical range of 0 to 360. Saturation S indicates the vividness of the color and is represented by a numerical range of 0.0 to 1.0. Value V indicates the brightness of the color and is represented by a numerical range of 0.0 to 1.0.
The color information may be categorized by type such as “Vivid”, “Soft”, and “Gradation” as shown in
For instance, the “Vivid” category is established by setting threshold Sv for saturation S as indicated in step D2 of
By depressing, or also hereinafter touching, either of the touch keys 51b to 51d associated with the categories “vivid”, “Soft”, and “Gradation”, a coloring mode is specified which extracts colors according to the selected category. In contrast, touching the key 51a associated with the “Random” category specifies a coloring mode in which colors are selected from multiplicity of colors spanning across different categories. As will be later described in detail, each of the coloring modes associated with keys 51a to 51d executes an assignment process that randomly extracts and assigns a color for each thread color data of the color-based pattern portion.
The controller 21 is configured to generate a random number in the aforementioned assignment process by executing a program function which takes the maximum palette-based color number as a parameter and generates a random number falling within the range of the palette-based color number. For example, a random number is generated that ranges from 1 to 64 based on the first palette table. The controller 21 searches the palette-based color number within the first palette table that matches the generated random number and extracts information such as the RGB value associated with the matching palette-based color number. Thus, a color is randomly selected from 64 cells of the first color palette 56a, each cell representing 1 of the 64 colors.
Next, a description will be given with reference to
The mode specifier 51 is provided with keys 51a to 51d each associated with either of the “Random”, “Vivid”, “Soft”, and “Gradation” modes discussed above. The color count specifier 53 is provided with plus and minus keys that, when touched, increments or decrements the total number of colors to be used as the thread color data of the embroidery data. For instance, when only 6 colors are specified by the color count specifier 53, the embroidery pattern is colored with only 6 colors. Touching the palette selection keys 54a or 54b invokes the first color edit screen 101A or the second color edit screen 101B.
As shown in
Referring now to
In the coloring mode selection screen 100, either of the keys 51a to 51d associated with the coloring modes “Random”, “Vivid”, “Soft”, and “Gradation” desired by the user is touched to execute the color assignment in the selected coloring mode. Responsively, a thumbnail screen 102A shown in
The thumbnail screen 102A comprises: an embroidery pattern selection area 61 which displays multiple embroidery patterns, such as 6 in number, a return key 62, a repository key 63, and a refresh key 64. The embroidery pattern selection area 61 displays shrunk thumbnail images 61a of embroidery patterns having unique combination of colors which were randomly assigned as the thread color data. Touching the refresh key 61 renews the color assignment of the thread color data and 6 new embroidery patterns are displayed in addition to the 6 embroidery patterns currently displayed.
Operation of the return key 62 returns the process flow back to the coloring mode selection screen 100. Further, touching the thumbnail image 61a of the embroidery pattern in either of thumbnail screens 102A and 10213 invokes the enlarge screen 103 shown in
The enlarge screen 103 comprises an enlarged image area 65, a close key 66, a set key 67, and a keep color key 68. The enlarged image area 65 provides an enlarged view of an embroidery pattern 40 corresponding to the selected thumbnail image 61a which is highlighted in bold frame in
Touching the set key 67 provided on the enlarge screen 103 returns the process flow back to the coloring mode selection screen 100 and populates the embroidery pattern displayed in the enlarged image area 65 into the preview image area 50 of the coloring mode selection screen 100. Touching the close key 66 provided on the enlarge screen 103 returns the process flow back to the thumbnail screen 102A or 102B.
The repository screen 104 is invoked by touching the repository key 63 provided on the thumbnail screen 102A and 1025. The repository screen exemplified in
In the present embodiment, the repository storage area 248 within the RAM 24 is configured to store a priority palette table which provides a mapping between a maximum of 24 entries of RGB values and palette-based color numbers ranging from 1 to 24.
The controller 21, when executing random extraction, is configured to prioritize the colors stored in the priority palette table, i.e. the repository storage area 248 over the colors stored in the first or the second palette table. Each of the extracted colors is assigned to the thread color data of each color-based pattern portion. The above described configuration facilitates generation of the embroidery data through random coloration while allowing the use of colors in accordance with the preference and sensibility of the user.
With reference to
The user reads the embroidery data from the ROM 23 by operating the touch panel 9a to display a pattern selection screen not shown on the LCD 9. When the desired embroidery pattern is selected from the multiple embroidery patterns displayed on the pattern selection screen by touching the desired embroidery pattern, the coloring mode selection screen 100 illustrated in
When either of the palette selection keys 54a and 54b is touched in the coloring mode selection screen 100, the palette flag is either set or reset. Based on the status of the flag, the controller 21 judges which of the palettes 56a or 56b is to be used for the random coloring in the subsequent steps such as step C1. Further, at step A1, the plus key and the minus key of the color count specifier 53 provided in the coloring mode selection screen 100 are operated to specify the total count of colors to be used in the coloring of the selected embroidery pattern, which is also referred to as specified coloring count “x”.
Then, at step A2, the coloring mode is specified by the operation of either of the keys 51a to 51d associated with either of “Random”, “Vivid”, “Soft”, and “Gradation”, whereafter the process proceeds to step A3 indicated in
At step B1 of the random coloring process, a judgment is made as to whether or not either of the coloring modes “Random”, “Vivid”, and “Soft” has been specified. If neither are specified (step B1: NO), meaning that “Gradation” has been specified, the process proceeds to step B2 indicated in
In the “Gradation” coloring mode, the controller 21 refers to the palette flag. If it is found, for instance, that the first color palette 56a is set, a random number ranging within the number of colors present in the palette is produced at step C1, which range is 1 to 64 in this case. Then, color-based palette numbers 1-64 of the first palette table is searched to find the number that matches the produced random number and the color corresponding to the matching color-based palette number is selected as the base color. Then at step C2, the controller 21 further calculates the HSV value based on the RGB value of the selected base color to specify a range represented as threshold HG1 and HG2 centering on the calculated Hue H.
Thereafter, at step C3, the controller 21 first extracts colors from the priority palette table. At this instance, however, the user has not designated any colors using the designating unit and thus, there are no colors stored in the repository storage area 248 (step C4: NO) at this point in time. Thus, at step C5, the controller 21 calculates Hue H based on the RGB value of the color represented by palette-based color number 1 of the first palette table and judges whether or not the calculated hue H falls within the range of threshold HG1 and HG2. If the calculated hue H falls within threshold HG1 and HG2 the color represented by palette-based color number 1 of the first palette table is stored in the color information storage area 247 as a color belonging to the “Gradation” category. The same process is repeated one by one for the palette-based color number 2 and beyond stored in the first palette table. Thus, the colors within the first palette table having been classified as the “Gradation” category become selected as the target of extraction and the updated information is stored in the color information storage area 247.
Having completed the selection from the 64 colors, the count of colors selected from the priority palette table at step C3, which amounts to zero at this point in time, and the count of colors selected from the first palette table are added to obtain a sum which is compared with the specified coloring count “x” at step C6 to judge whether or not the sum is equal to or greater than the specified coloring count “x”. If the sum is less than the specified coloring count “x” (step C6: NO), a judgment is made to specify a new base color at step C7 and the process returns to step C1 to reproduce a random number as described earlier. Steps C1 to C7 are repeated and if the sum of the colors selected base on the base color becomes equal to or greater than the specified coloring count “x” (step C6: YES), “x” colors are selected from the selected colors at step C8.
In the extraction process, a random number is produced within the range of total count of selected colors stored in the color information storage area 247. The produced random number is compared with the palette-based color numbers of the selected colors and the RGB value associated with the matching palette-based color number is extracted. As described above, a random number is used to randomly extract “x” unique colors from the color information storage area 247. The extracted color is stored in the extracted data storage area 249 of the RAM 24 and the process flow returns to step B4 indicated in
At step B4, the randomly extracted colors are each assigned to the thread color data of each of the color-based pattern portions. Prior to the assignment process, the specified coloring count “x” is subtracted from the total count “n” of the color-based pattern portions, and in case of any deficiencies, in other words, if n−x>0, an additional selection process is executed. That is, additional colors are selected from the color information storage area 247 in order to equalize the total count n of color-based pattern portions and the count of colors within the extracted data storage area 249. The selected colors are additionally stored in the extraction data storage area 249 such that the number of entries of colors within the extraction data storage area 249 equals the total count “n” of color-based pattern portion. Then, the entries of colors stored in the extraction data storage area 249 are shuffled prior to the assignment process. That is, because the extraction data storage area 249 contains multiple entries of the same color as the result of the additional selection process, the entries are shuffled so that they are arranged in random order. After a color has been assigned to each of the “n” number of color-based pattern portions to complete the coloring of the first embroidery pattern, all of the thread color data associated with the first embroidery pattern is stored in the RAM 24.
In the present embodiment, 6 unique embroidery patterns are displayed on the thumbnail screen 102A. Thus, the second to sixth embroidery patterns (step B5: NO) are additionally generated through steps B1, B2, B4, and B5. If the generated embroidery pattern is found to be distinct from those previously generated, the thread color data associated with the currently generated embroidery pattern is stored at step B4 as was the case for the first embroidery pattern. Thus, steps B1, B2, B4, and B5 are repeated until all the embroidery patterns to be displayed as thumbnails have been generated (step B5: YES) to provide 6 unique embroidery patterns under the “Gradation” coloring mode.
In case either of the “Random”, “Vivid”, and “Soft” coloring mode was specified at step B1 (step B1: YES), the extraction process identified as step B3 and detailed in
Referring to the flowchart in
The controller 21, when making a judgment that the first color palette 56a has been selected, for instance, based on the status of the palette flag, proceeds to step D8 to select a color meeting the requirements of the selected coloring mode from the first color palette.
For example, in case the “Random” coloring mode is selected, neither of thresholds Sv, SS1 SS2 HG1 nor HG2 is specified and thus, the RGB values associated with palette-based color numbers 1 to 64 are stored as they are in the color information storage area 247 of the RAM 24. In other words, if no category is specified, the entries of 64 colors in the first palette table are stored intact within the color information storage area 247.
In case the “Vivid” or “Soft” coloring mode has been specified, saturation S is calculated based on the RGB value of palette-based color number 1. Then a judgment is made as to whether the calculated saturation S is greater than threshold value Sv, or within the range of threshold SS1 to SS2. In case saturation S of palette-based color number 1 is greater than threshold value Sv, or within the range of threshold SS1 to SS2, palette-based color number 1 is stored in the color information storage area 247 with the categorization of “Vivid” or “Soft”. Similarly, for colors associated with palette-based color number 2 and onwards, saturation S is calculated based on the read RGB value for comparison with threshold Sv or the range of threshold SS1 to SS2, and a judgment is made as to whether or not to store the information to the color information storage area 247. As described in this example in which the “Vivid” or “Soft” coloring mode has been specified and the first palette table has been selected, the colors belonging to the “Vivid” or “Soft” category become selected from the 64 colors of the first palette table and are stored in the color information storage area 247 with the updated information.
After the colors belonging to the “Random”, “Vivid”, and “Soft” coloring modes have been selected, the count of colors amounting to the difference of specified coloring count “x” and color count “T”, indicating the colors extracted through steps D2 to D6 and amounting to 0 at this instance (T=0), is extracted at step D9 from the selected colors. The extraction process utilizes a random number produced in the aforementioned manner to randomly extract “x” unique colors. The extracted colors are stored in the extraction data storage area 249 of the RAM 24 and the process flow returns to step B4 of the flowchart indicated in
At step B4, the assignment process similar to the process executed in the “Gradation” coloring mode is executed, and on completing the generation of the first of the six embroidery patterns, the entire thread color data for the first embroidery pattern is stored in the RAM 24. Thus, for the second embroidery pattern and onwards, steps B1, B3, B4, and B5 are repeated until all the embroidery patterns to be displayed as thumbnails have been generated (step B5: YES). Thus, 6 unique embroidery patterns under the “Random”, “Vivid”, or “Soft” coloring mode are generated and the process flow returns to step A4 of the flowchart indicated in
The controller 21 is one example of a first assigning unit, which, in step A3 or the later described step A14, executes a first assigning routine that randomly extracts colors to be used as thread color data for each color-based pattern portion from the first or the second palette table when no colors are specified in the priority palette table and assigns the extracted colors to each of the color-based pattern portions. More precisely, the first assigning unit includes a first extracting unit that executes the aforementioned steps B2 and B3 and a first assigning unit in a narrower sense that executes the aforementioned step B4.
At step A4, a first display routine is executed that displays to the thumbnail screen 102A shrunk thumbnail images of multiple embroidery patterns, 6 of which are shown in
If the user finds any color of his/her preference in the embroidery pattern 40 shown in the enlarged image area 65, the user may touch the relevant color-based pattern portion (step A7: NO, step A8: YES). For instance, when the user touches the pattern portion 401, the outline of the pattern portion 401 is highlighted in bold frame colored distinctly from the color of the pattern portion 401 (step A9). When the keep color key 68 is touched in this state (step A10: YES), the color of the pattern portion 401 is stored in the repository storage area 248 of the RAM 24 and registered with the priority color palette 71 at step A11. Operation of the close key 66 provided in the enlarge screen 103 returns the process flow back to thumbnail screen 102A (step A12: YES). The aforementioned steps A8 and A9 are examples of a designating routine which allows the designation of the desired colors for used as the thread color data by the designating unit. The aforementioned steps A10 and A11 are examples of a storing routine that stores the colors designated by the designating routine to the second storage.
Touching the refresh key 64 provided on the thumbnail screen 102A (step A13: YES) executes a random coloring process similar to the process executed in step A3 (step A14). As a result, newly extracted colors are assigned to the thread color data and the thumbnail screen 102B being separate from the thumbnail screen 102A and displaying 6 new embroidery patterns as shown in
The colors stored in the priority palette table can be viewed by touching the repository key 63 provided on the thumbnail screen 102A and 1025 (step A15: YES, step A16). More specifically, the repository screen 109 is provided with the priority color palette 71 which displays the colors designated by the user. Though only 3 colors are registered with the priority color palette 71 exemplified in
In case the return key 62 provided on the thumbnail screens 102A and 1023 is touched (step A18: YES), the process flow is returned to the coloring mode selection screen 100, meaning that the process flow is returned to step A1. Thus, the user is allowed to reset various settings such as the selection of the palette 56a or 56b used in the random coloring, the specification of coloring count “x”, and the coloring mode, and proceed to execute the random coloring process at step A3. In the random coloring process at step A3 or the random coloring process of step A14 triggered by another operation of the refresh key 64 (step A13: YES), the use of colors registered with the priority color palette 71 is prioritized over the colors registered with the first color palette 56a and the second color palette 56b.
In the extraction process based on “Gradation” coloring mode at step B2, the selection of colors stored in the priority palette table indicated as step C3 of the flowchart of
After the selection from the priority palette table has been completed, a judgment is made as to whether or not the count of the selected colors is equal to or greater than the specified coloring count “x” at step C4 and if not (step C4: NO), the colors falling within the range of thresholds HG1 and HG2 are selected from the first or the second palette table as well (step C5). Then a judgment is made as to whether or not the sum of count of colors selected from the priority palette table at step C3 and the count of colors selected from the first or the second palette table is equal to or greater than the specified coloring count “x” (step C6) and if not, the base color is renewed as indicated in steps C7 and C1. Steps C1 to C7 are repeated until the count of colors selected based on the base color becomes equal to or greater than the specified coloring count “x” (step C6: YES), whereafter “x” colors are extracted from the plurality of colors at step C8.
The color information storage area 247 is configured to prioritize the storage of colors selected from the priority palette table over the colors selected from the first or the second palette table. In case a YES judgment is made at step C4, only the colors selected from the priority palette table is stored in the color information storage area 247. As a result, the colors stored in the priority palette table, if any, will always be stored and extracted with the utmost priority. Thus, in the “Gradation” coloring mode indicated as step B2 in the flowchart of
Further, even when either of the “Random”, “Vivid”, or “Soft” coloring mode is selected (step B3 of
More specifically, a judgment is made as to whether or not color count R of the priority palette table is 0 at step D1 and if not (step D1: NO), the color (s) are acquired from the priority palette table in step D2.
In case the “Random” coloring mode is selected, neither of thresholds Sv, SS1 SS2 HG1 nor HG2 are specified as mentioned earlier, and thus, the RGB values associated with the colors stored in the priority palette table are stored as they are in the color information storage area 247 of the RAM 24. In contrast, in case either of the “Vivid” or “Soft” category is specified as the coloring mode, a judgment is made on the colors stored in the priority palette table based on saturation S calculated from the RGB value of each color to determine whether or not saturation S is greater than threshold Sv or whether or not saturation S is within the range of threshold SS1 to SS2. Based on the judgment, the colors within the priority palette table that have been classified into the “Vivid” or “Soft” category are selected and stored in the color information storage area 247.
Then, a judgment is made as to whether or not the count “R′” of colors selected from the priority palette table is 0, and if not (step D3: NO), a judgment is made at step D4 as to whether or not the selected color count “R′” is greater than specified color count “x”. If the selected color count “R′” is greater than the specified color count “x” (step D4: NO), “x” colors are randomly extracted from the priority palette table at step D6. As a result, the final count “T” (T=x) of colors extracted by way of step D6 is stored in the extraction data storage area 249. In case the selected color count R′ is equal to less than the specified coloring count “x” (step D4: YES, i.e. 0<R′≦x), the colors selected at step D2 is stored as they are in the extraction data storage area 249 at step D5.
At step D7, a judgment is made as to whether or not count “T” of the colors extracted by way of steps D2 to D6 matches the specified coloring count “x” (step D7: YES, i.e. T=x) and if not (step D7: NO), the difference is compensated by selecting additional colors from the first or the second palette table at step D8 and the selected colors are extracted at step D9. More specifically, when the “Random” coloring mode is selected, the colors stored in the first or the second palette table are stored as they are in the color information storage area 247 as described earlier. In case “Vivid” or “Soft” category is specified as the coloring mode, the colors specified in the first or the second palette table are selected for classification into the “Vivid” or “Soft” category based on thresholds Sv, SS1, and SS2. Thus, after additionally selecting colors belonging to either of the “Random”, “Vivid”, and “Soft” categories at step D8, the count of colors amounting to the difference between the specified coloring count “x” and count “T” of colors extracted by way of steps D2 to D6 (x−T) are randomly extracted from the selected colors at step D9. The extracted colors are stored in the extraction data storage area 249 in addition to the colors having been selected form the priority palette table.
The color information storage area 247 is configured to prioritize the storage of colors selected from the priority palette table over the colors selected from the first or the second palette table. In case a YES judgment is made at step D7 by way of step D6, only the colors selected from the priority palette table is stored in the extraction data storage area 249. Thus, when operating under either of the “Random”, “Vivid”, and “Soft” coloring modes indicated as step B3 in the flowchart of
As described above, the controller 21 is one example of a second assigning unit, which, in step A3 or the later described step A14, executes a second assigning routine that prioritizes the extraction of colors from the repository storage area 248 or more specifically from the priority palette table. More precisely, the second assigning unit includes a second extracting unit that executes the aforementioned steps B2 and B3 and a second assigning unit in a narrower sense that executes the aforementioned step B4. Step A1 executed after the second assigning routine is one example of a second display routine.
The assignment process executed by the second assigning unit utilizes the colors specified by the user and thus, is more likely to be successful in generating a coloring sample of the embroidery pattern, presented in the form of thumbnail image 61a, that is desired by the user as compared to the assignment process executed solely by the first assigning unit. If the user finds a color that he/she likes, the user may touch the relevant thumbnail image 61a (step A5: YES) to invoke the enlarge screen 103 at step A6 and further touch the set key 67 (step A7: YES). As a result, the process flow returns to step A19 in which a screen transition is made back to the coloring mode selection screen 100 which now shows a preview image of the embroidery pattern which was displayed in the enlarged image area 65 to end the process.
As described above, the controller 21 of the embroidery data generator 30 executes the first assigning routine that randomly extracts colors from the first or the second palette table stored in the first storage and assigns the extracted colors to the thread color data of each color-based pattern portion. The controller 21 further executes a first display routine that displays on the screen the image of the embroidery pattern having its color-based pattern portions colored in the colors assigned by the first assigning routine. Still further, the controller 21 executes a designating routine and a storing routine in which the color desired by the user is designated from the color-based pattern portions of the embroidery pattern displayed by the first display routine and the designated color is stored in the second storage. Then the controller 21 executes the second assigning routine that prioritizes the execution of the assignment process based on the priority palette stored in the second storage.
According to the above described configuration, the primary coloring executed by the first assigning routine readily achieves coincidental and out-of-the-ordinary coloring of the embroidery pattern. Further, because the embroidery pattern is displayed on the screen, visual recognition of the colors assigned to the color-based pattern portions comes with ease.
Further, the secondary coloring executed by the second assigning routine allows the colors designated by the user from the color-based pattern portions displayed on the screen to be assigned with priority over other colors. This facilitates generation of embroidery data while incorporating the colors desired by the user into the embroidery pattern.
The first display routine displays multiple embroidery patterns on the thumbnail screens 102A and 1025. The combination of colors assigned to the color-based pattern portions in each embroidery pattern is unique. The designating routine designates a color the user wishes to assign to the thread color data from the color-based pattern portions of the embroidery patterns displayed on screens 102A and 102B. According to such configuration, the user is allowed to readily designate the desired color while viewing the look of the colored embroidery pattern displayed on screens 102A and 102B.
The controller 21 comprises an enlarging unit that displays an enlarged image of only the desired embroidery pattern to the enlarge screen 103 among the choice of multiple embroidery patterns. In the designating routine, the controller 21 is configured to designate the desired color from the color-based pattern portions of the enlarged embroidery pattern. The enlarged image of the embroidery pattern improves the visibility of the embroidery pattern and allows the embroidery pattern to be viewed in detail. Thus, the designation of color assigned to a small color-based pattern portion can be done with ease.
Similarly, the enlarging feature facilitates the designation of color in sewing machines that only come with a small LCD.
The displaying unit displays the embroidery pattern in the color assigned to each color-based pattern portion by both the first assigning unit and the second assigning unit. This facilitates the visual recognition of the colors assigned to the color-based pattern portions. More specifically, the first display routine allows a visual recognition of the colors assigned by the first assigning routine and the second display routine allows a visual recognition of the colors assigned by the second assigning routine.
The controller 21 and the touch panel 9a responsible for the execution of steps A13 and A14 are examples of a re-coloring unit that re-executes, in response to user instructions, the assignment process by the first assigning routine or the second assigning routine. The re-coloring unit allows the repetition of color extraction and assignment. Thus, the embroidery data of the embroidery patterns displayed on the thumbnail screens 102A and 102B may be re-colored to the satisfaction of the user through the execution of the re-coloring unit.
More specifically, in response to user instructions, the controller 21 executes a first re-coloring routine that re-executes the first assigning routine or a second re-coloring routine that re-executes the second assigning routine as steps A13 and A14. The controller 21 further executes a first re-displaying routine as step A4 after the execution of the first re-coloring routine and a second re-displaying routine as step A4 after the execution of the second re-coloring routine. Thus, the embroidery data of the embroidery patterns displayed on the thumbnail screens 102A and 102B may be re-colored to the satisfaction of the user through the execution of the first or the second re-coloring routine.
The disclosure is not limited to the foregoing embodiment but may be modified or expanded as follows.
The embroidery data generator need not be provided within the sewing machine M but may be incorporated in a readily available personal computer or a dedicated computer machine provided with components such as a mouse, a keyboard, a memory card connector, and a display.
In case the sewing machine and the embroidery data generator are configured separately unlike the embodiment discussed above, the sewing machine and the embroidery data generator may exchange data through wire or wireless communication.
The first and the second storages are not limited to the RAM 24 or the EEPROM 25 but may be configured as other types of internal storage incorporated in the sewing machine or the embroidery data generator, or as a removable external storage detachably attached to the sewing machine or the embroidery data generator. For instance, the second storage may be configured by a nonvolatile storage medium such as an EEPROM instead of the RAM 24. A storage configured by a nonvolatile memory allows the color designated by the designating unit to be retained even after the sewing machine M is turned off.
In the embodiment discussed above, the extraction process is performed randomly by the first or the second extraction unit at steps B2 or B3. Further, the extracted colors are assigned by the first or the second assigning unit after being shuffled at step B4, thereby enabling a random assignment. In an alternative embodiment, either the extraction (step B2/B3) or the assigning (step B4) may be executed at random.
The transition between the screens 100 to 104 is not limited to the flow indicated in
The computer readable recording medium that stores the embroidery data processing program is not limited to the ROM 23 provided in the controller 21 but may be configured by a CD-ROM, a flexible disk, a DVD, a memory card 11, or the like. In such case, the computer readable recording medium is read and executed through the computer of a controller provided in the embroidery data generator to provide operation and effects similar to those of the above described embodiment.
The foregoing description and drawings are merely illustrative of the principles of the disclosure and are not to be construed in a limited sense. Various changes and modifications will become apparent to those of ordinary skill in the art. All such changes and modifications are seen to fall within the scope of the disclosure as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2011-174907 | Aug 2011 | JP | national |