Computer system for dynamic generation of custom color selections and method for dynamic generation of custom color selections executed on one or more processors
By using mathematically defined color space and golden triangle generation method in computer systems to identify and display potential accompanying colors, the problem of complex and inefficient color selection in the prior art is solved, and efficient and beautiful color combination generation is achieved.
Patent Information
- Application Number
- CN202080063771.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-12
- Filing Date
- 2020-09-11
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2040-09-11
AI Technical Summary
The prior art faces challenges in identifying and selecting suitable coating colors, especially when facing tens of thousands of possible color options, which are computationally expensive and difficult to generate interesting and useful color combinations that appeal to consumers.
Through a computer system, the system including a processor and a computer readable medium, it is able to receive indications of target colors from a user, identify the location of the target colors within a mathematically defined color space, and generate a golden triangle within the color space to identify potential accompanying colors, and ultimately display these colors on the user interface.
The system can effectively generate beautiful color combinations that match the target color, simplifying the user's process of selecting among a variety of color options and improving the efficiency and aesthetic effect of color selection.
Smart Images

Figure CN114402353B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of and priority to U.S. Provisional Patent Application No. 62 / 899,679, filed on September 12, 2019, and entitled “DYNAMIC GENERATION OF CUSTOM COLOR SELECTIONS,” which is expressly incorporated herein by reference in its entirety. Technical Field
[0003] The present invention is directed to a computer implemented method and system for utilizing technological advancements to assist in identifying desired paint colors. Background Art
[0004] Modern coatings provide several important functions in industry and society. Coatings can protect the coated material from corrosion, such as rust. Coatings can also provide aesthetic functions by providing a particular color and / or dimensional appearance to an object. For example, most cars are coated with paint and various other coatings to protect the metal body of the car from the elements and provide an aesthetic visual effect.
[0005] Given the wide range of uses for different coatings, consumers often need to identify the desired coating color. For example, one may need to identify one or more paints for a bedroom or one or more paints for a garden shed. Currently, this identification process can be overwhelming due to the seemingly endless number of coating variations available. Given the multitude of choices available, many consumers experience challenges in identifying color schemes that will collectively provide a pleasing aesthetic.
[0006] Similarly, current methods of identifying coating colors present several obvious technical challenges. Many modern coating databases have tens of thousands of possible coating colors available. Analyzing each available coating color individually relative to all other colors in the database may require a lot of calculations. In addition, providing interesting and useful color combinations that attract consumers is technically challenging. Those skilled in the art will appreciate that computer-based techniques do not have an innate understanding of aesthetic effects. Therefore, there are several deficiencies in the art that can benefit from technological advances.
[0007] The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is provided merely to illustrate one exemplary technology area where some embodiments described herein may be practiced. Summary of the invention
[0008] The present invention includes a computer system for dynamic generation of custom color selections. The computer system includes: one or more processors; and one or more computer-readable media having executable instructions stored thereon, which when executed by the one or more processors configure the computer system to perform various actions for dynamic generation of custom color selections. The computer system receives an indication of a target color from a user. The computer system also identifies a location of the target color within a mathematically defined color space. The computer system identifies a location of a second color within the mathematically defined color space. In addition, the computer system generates a first golden triangle within the mathematically defined color space. The location of the target color includes a first vertex of the first golden triangle. The location of the second color includes a second vertex of the first golden triangle. The location of a third color includes a third vertex of the first golden triangle. The computer system then displays indications of the target color, the second color, and the third color on a user interface.
[0009] The present invention also includes a method executed on one or more processors for dynamic generation of customized color selections. The method includes receiving an indication of a target color from a user. In addition, the method includes identifying a location of the target color within a mathematically defined color space. The method also includes identifying a location of a second color within the mathematically defined color space. In addition, the method includes generating a first golden triangle within the mathematically defined color space. The location of the target color includes a first vertex of the first golden triangle. The location of the second color includes a second vertex of the first golden triangle. The location of a third color includes a third vertex of the first golden triangle. In addition, the method includes displaying indications of the target color, the second color, and the third color on a user interface.
[0010] The present invention further includes a computer-readable medium including one or more physical computer-readable storage media having computer-executable instructions stored thereon, which, when executed at a processor, cause a computer system to perform a method for dynamic generation of customized color selections. The method includes receiving an indication of a target color from a user. In addition, the method includes identifying a location of the target color within a mathematically defined color space. The method also includes identifying a location of a second color within the mathematically defined color space. In addition, the method includes generating a first golden triangle within the mathematically defined color space. The location of the target color includes a first vertex of the first golden triangle. The location of the second color includes a second vertex of the first golden triangle. The location of a third color includes a third vertex of the first golden triangle. In addition, the method includes displaying indications of the target color, the second color, and the third color on a user interface.
[0011] Additional features and advantages of exemplary embodiments of the present invention will be set forth in the following description, and in part will be apparent from the description, or may be learned by the practice of such exemplary embodiments. The features and advantages of such embodiments may be realized and obtained by the instruments and combinations specifically indicated in the appended claims. These and other features will become more apparent from the following description, clauses, and appended claims, or may be learned by the practice of such exemplary embodiments as set forth below. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] In order to describe the manner in which the above and other advantages and features of the present invention can be obtained, a more particular description of the invention briefly described above will be presented by reference to specific embodiments of the invention, and the specific embodiments are shown in the accompanying drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings.
[0013] Figure 1 A schematic diagram depicting a computer system executing a color selection generation software application.
[0014] Figure 2 Depicts a user interface for a color selection generating software application.
[0015] Figure 3 Depicts the location of a target color and the locations of possible proposed colors within a mathematically defined color space.
[0016] Figure 4 Depicts the location of a target color and the locations of possible proposed colors within a mathematically defined color space.
[0017] Figure 5 Depicts the location of a target color and the locations of possible proposed colors within a mathematically defined color space.
[0018] Figure 6 A golden logarithmic spiral is depicted that intersects the location of the proposed color within the mathematically defined color space.
[0019] Fig. 7A Depicts the location of a target color and the locations of possible proposed colors within a mathematically defined color space.
[0020] Figure 7B Depiction Fig. 7A An extension of a mathematically defined color space.
[0021] Figure 8 Depicts the location of a target color and the locations of possible proposed colors within a mathematically defined color space.
[0022] Fig. 9 Flowchart depicting steps in a method for dynamic generation of custom color selections. DETAILED DESCRIPTION
[0023] The present invention extends to computer systems, computer-implemented methods, computer-readable media with instructions, and devices for dynamic generation of custom color selections. For example, according to the present disclosure, a computer system may receive an indication of a target color from a user. The indication of the target color may be received in a variety of different forms. For example, a user may provide an image or sample of an object that the user wishes to match with the target color. The image or sample of the object may be measured using a spectrophotometer to identify the target color associated with the image or sample of the object. Alternatively, the user may provide information to select a particular color by entering a color name, a color code, or selecting a displayed color. It will be appreciated that there are a variety of different ways in which a user may provide an indication of a target color to a computer system. Unless otherwise stated, the present invention is not limited to a particular device for receiving an indication of a target color from a user.
[0024] Once the computer system receives the indication of the target color, the computer system can map the target color to a known color in a color database. For example, the indication of the target color may include a fabric sample from a chair. An exact color match to the fabric sample may not be available as a coating. Therefore, the computer system identifies the closest matching color relative to the fabric sample associated with the indication of the target color in the color database. Therefore, the computer system maps the target color to an available known color in the color database. As used herein, a variety of different conventional color matching methods can be used to determine the "closest match". For example, the closest / closest match is the color in the color database that has the smallest distance from the position of the searched color in the mathematically defined color space. It will be appreciated that in some cases, an exact match to the indication of the target color may be available in the color database. In any case, as used herein, the "target color" includes a known color from a color database, however, the "indication of the target color" may be associated with a slightly different specific color.
[0025] Once the target color has been identified, the computer system analyzes the colors within the mathematically defined color space. The computer system proposes one or more companion colors that are aesthetically pleasing when paired within the target color. The proposed one or more companion colors may be identified by calculating a golden ratio triangle within the mathematically defined color space and proposing colors from the color database that are most closely associated with the vertices of the golden ratio triangle. For example, the colors from the color database that are most closely associated with the vertices of the golden ratio triangle may include the colors within the color database that have the smallest distance from the vertices of the golden ratio triangle in the mathematically defined color space. Various additional or alternative methods may be used to propose different or additional companion colors.
[0026] Now turning to the diagram, Figure 1 A schematic diagram depicting a system executing a color selection generating software application. The depicted system includes a computer system 100 for dynamic generation of customized color selections. The computer system 100 includes one or more processors 130 and one or more computer-readable media 140 having executable instructions stored thereon that, when executed by the one or more processors, configure the computer system 100 to perform various actions. The one or more processors 130 and the one or more computer-readable media 140 may include local computer hardware and / or cloud-based computer hardware. The computer system 100 executes a color selection generating software application 120 using the one or more processors 130 executing computer-executable instructions stored on the one or more computer-readable media 140.
[0027] The color selection generating software application 120 is also in communication with an I / O interface 150. The I / O interface 150 may communicate with a keyboard, a mouse, a digital display, a network communication interface, a Bluetooth radio, a GPS radio, and various other conventional computer I / O interfaces. The computer system 100 is programmed to receive an indication of a target color 110 through the I / O interface 150.
[0028] The color selection generation software application 120 also includes a color selection generator 160. The color selection generator 160 includes various modules for generating one or more proposed companion colors that may be aesthetically pleasing when paired within the target color 110. The modules include a golden ratio module 162, a relative color module 164, a monochromatic color module 166, and an adjacent color module 168. As used herein, a "module" includes computer executable code and / or computer hardware that performs a specific function. Those skilled in the art will appreciate that the distinction between different modules is at least partially arbitrary, and that modules may be combined and divided in other ways and still remain within the scope of the present disclosure. Therefore, components are described as "modules" only for the sake of clarity and explanation, and unless otherwise explicitly stated, should not be interpreted as indicating that any specific structure of computer executable code and / or computer hardware is required. In this specification, the terms "component", "agent", "manager", "service", "engine", "virtual machine" or similar terms may also be used similarly.
[0029] Figure 2A user interface 200 for a color selection generating software application 120 is depicted. As the color selection generator 160 generates proposed companion colors, the user interface 200 displays various colors. For example, the user interface 200 may display the target color 110 and various different categories 220(ac) of the companion colors 210. In the depicted example, the different categories 220(ac) include companion colors that fall within an intensity category 220a, a similar category 220b, and a combination category 220c. However, it will be appreciated that the user interface 200 and these particular categories 220(ac) are provided for purposes of example and explanation, and do not limit the present invention unless expressly stated otherwise.
[0030] Figure 3 The target color 110 and the position 310 of the target color in the mathematically defined color space 300 and the position of the possible proposed color are depicted. In the depicted example, the mathematically defined color space 300 may include a CIELAB color space. The CIELAB color space expresses color as three values: L* for brightness and a* and b* for color. When plotted in a two-dimensional Cartesian coordinate system, the x-axis and the y-axis are represented by a* and b*, respectively. However, in reality, the CIELAB color space is three-dimensional, with the z-axis represented by L* (brightness). The hue is measured as the angle in the a*-b* plane. The chromaticity is the measurement of the ray extending from the axis of the a*-b* plane. The saturation is measured as the angle in the a*-L* plane. In each example presented herein, the CIELAB color space can be utilized, however, the present invention is not limited to the CIELAB color space and those skilled in the art will understand its application across many mathematically defined color spaces.
[0031] After receiving an indication of a target color 110 from a user, the color selection generation software application 120 communicates the target color 110 to the golden ratio module 162. The golden ratio module 162 identifies a location 310 of the target color within a mathematically defined color space 300. The location 310 of the target color may include L*, a*, b* values within a CIELAB color space. Other color locations described herein may be similarly calculated within a CIELAB color space.
[0032] The golden ratio module 162 then identifies the position 320 of the second color within the mathematically defined color space 300. For example, the relative color module 164 may identify the position 320 of the second color within the mathematically defined color space 300 by calculating a second color coordinate set that is opposite to the coordinate set associated with the position 310 of the target color. For example, the mathematically defined color space 300 may be set on a Cartesian coordinate system, such as within a CIELAB color space. Within this mathematically defined color space 300, the position 310 of the target color may be specified as (+a*, +b*). By calculating the inverse of the coordinate set associated with the target color, the relative color module 164 may identify the position 320 of the second color at (-a*, -b*). It will be appreciated that alternatives may be used to calculate the inverted positioning on various different coordinate systems and still remain within the scope of the present invention. For example, the generation of the inverted color in the RGB space is performed by subtracting the RGB value from 255. For example, the inversion of RGB [200, 200, 10] produces RGB [50, 50 245]. This can also be illustrated using an RGB color wheel.
[0033] Once the position 320 of the second color is calculated, the golden ratio module 162 generates a first golden triangle 340 within the mathematically defined color space 300. As used herein, a "golden triangle" includes an isosceles triangle having vertex angles of 36°, 72°, and 72°, or alternatively an isosceles triangle having vertex angles of 36°, 36°, and 108°. Figure 3 , the location 310 of the target color includes a first vertex of the first golden triangle 340 , the location 320 of the second color includes a second vertex of the first golden triangle 340 , and the location 330 of the third color includes a third vertex of the first golden triangle 350 .
[0034] Once the position 320 of the second color and the position 330 of the third color are identified, the color selection generator 160 identifies the corresponding colors within the color database that are closest to the position 320 of the second color and the position 330 of the third color. The color database can be stored in one or more computer-readable media 140. The color selection generator 160 can utilize a distance calculation to identify the second color within the color database that is closest to the position 320 of the second color and to identify the third color within the color database that is closest to the position 330 of the third color. The computer system 100 then displays an indication of the target color 110, the second color, and the third color on the user interface 200.
[0035] Additionally, the golden ratio module 162 may generate a second golden triangle 400 within the mathematically defined color space. For example, Figure 4Depicted is a location 310 of a target color and locations 320, 330, 410, and 430 of possible proposed colors within a mathematically defined color space 300. In the case of a second golden triangle 400, the golden ratio module 162 utilizes the location 310 of the target color and the location 330 of a third color previously derived using the golden triangle ratio in order to generate a location 410 of a fourth color within the mathematically defined color space 300. As depicted, the location 310 of the target color includes a first vertex of the second golden triangle 400, the location 330 of the third color includes a second vertex of the second golden triangle 400, and the location 410 of the fourth color includes a third vertex of the second golden triangle 400. Once the locations 310, 330, 410 of the colors have been identified and mapped to colors within the color database, the computer system 100 displays an indication of the target color, the third color, and the fourth color on a user interface.
[0036] Figure 4 It is further depicted that the golden ratio module 162 is able to continue to generate the third golden triangle 420 using the location 310 of the target color and the location 410 of the fourth color to generate the location 430 of the fifth color. It will be appreciated that the golden ratio module 162 may continue this process of generating new golden triangles using the location 310 of the target color and the sequentially generated new color locations (e.g., 330, 410, 430, etc.). The golden ratio module 162 may continue to generate new golden ratio triangles until the newly generated color location is no longer associated with the new color within the color database but is actually closer to the target color or previously identified possible accompanying colors than the new color. Additionally or alternatively, the golden ratio module 162 may continue to generate new golden ratio triangles until the newly generated color location is no longer visually distinguishable from the target color or previously identified possible accompanying colors compared to other colors. As noted above, the location 310 of the target color may be used to generate each golden triangle in order to ensure that the proposed color maintains a relationship with the user-provided target color 110.
[0037] Figure 5 Depicts the target color 110 and possible proposed colors within a mathematically defined color space 300. Figure 4 , golden triangles 500, 520 are generated in a direction outward from the first golden triangle 340. Similar to the method described above, the golden ratio module 162 can identify new possible companion colors based on the position 510 of the sixth color. In addition, the golden ratio module 162 identifies that the position 530 of the seventh color is outside the mathematically defined color space 300. Therefore, the golden ratio module 162 determines that the position 530 of the seventh color cannot be mapped to a color within the color database. The golden ratio module 162 then prevents the generation of additional golden triangles.
[0038] When the golden triangle 340, 400, 420 is generated in the mathematically defined color space 300 (see Figure 4 ), the golden ratio module 162 can use the concept of the golden ratio as a natural way to combine the proposed colors in a pattern and proportion that is aesthetically pleasing. or The golden ratio represented by is an irrational number. The golden ratio module 162 uses the golden ratio to indicate a computer generated color palette ("CGCP") associated with the user provided color. As an optional or possibly mandatory suggestion, the algorithm uses the user provided color to render a computer generated color palette based on the physical layout (1-dimensional to multi-dimensional) of the mathematically defined color space 300. The user can select 'more options' as needed to cascade multiple different palette options by changing the palette selection criteria or the mathematically defined color space 300.
[0039] The golden ratio module 162 can calculate the selection criteria in a variety of ways. At its simplest, the RGB (or CIELAB) of the consumer's selected color can be modified by the golden ratio number as depicted below in Table 1, which shows a computer-generated color palette (e.g., CGCP 1, CGCP 2, CGCP 3, CGCP 4) within the corresponding column.
[0040]
[0041] Table 1
[0042] where x is a scalar that can be chosen by the computer based on history (larger scalars for consumers who choose a wider variety of colors) or by consumer input such as a scale (e.g., small color palette = 1, large color palette = 3), and represents the following golden ratio:
[0043] Computer system 100 may additionally or alternatively use a spiral method for selecting additional colors. For example, Figure 6 Depicts a golden logarithmic spiral 600 that intersects a location 610 (ah) of a proposed color within the mathematically defined color space 300. By defining the physical location of the layout of the mathematically defined color space 300, the computer system 100 can select the RGB / CIELAB corresponding to the color of another identified physical location as indicated by the following equation:
[0044]
[0045] Where D is a dimension of the physical layout (eg, height).
[0046]
[0047] Where H is the height dimension recognized by the computer.
[0048]
[0049] Where W is the width dimension recognized by the computer. Based on the newly calculated H and W, the computer system 100 can recognize the color in the positioning and report it as a computer-generated color palette color. The computer system can also add more colors by changing the scalars x and y. In addition, the computer system can offset the layout of the palette by ±1 (or other scalar) in height, width, or any other dimension.
[0050] The computer system 100 may additionally or alternatively use a line as a selection criterion. For example, the computer system 100 may select a line in a single direction on the mathematically defined color space 300. Continuously positioned color positions. The computer system 100 may also use triangles and tetrahedrons in addition or alternatively to select colors. The consumer selected color may be supported by the positioning of another (1, 2 or 3) known harmonics in the mathematically defined color space 300. The golden ratio is used to bisect the hypotenuse at the new point where the computer selected color is positioned. Similar to triangles and tetrahedrons, the computer system 100 may use circle-following pentagons and pentagrams of consumer selected colors, harmonics, or other computer-generated color positions to bisect and relate other physical layout positions in multiple dimensions. In at least the configuration described above, the computer system 100 calculates where the computer selected color position will not exist in the physical (or digital) layout. Therefore, the calculation is limited by the degrees of freedom in the initial physical layout and can be scaled to the initial physical layout.
[0051] Now turn to reference Fig. 7A , Fig. 7A The location 310 of the target color and the location of possible proposed colors within the mathematically defined color space 300 are depicted. The monochrome color module 166 can generate a subset 700 of neighboring colors from the color database of available colors by selecting colors within the color database that are within plus fifteen degrees 710a and minus fifteen degrees 710b of the hue variance of the location 310 of the target color within the mathematically defined color space 300. As an example, in the CIELAB color space, hue is measured as an angle within the a*, b* plane. Therefore, the hue variance from the location 310 of the target color can include an angle range from the target color 310 within the CIELAB color space. However, other values can be used for similar or different effects depending on the desired results.
[0052] The monochrome color module 166 provides technical and computational advantages to the computer system 100 by generating a "pie chart" within the mathematically defined color space 300. By reducing the total possible set of colors to only those colors that have a position within the "pie chart", the monochrome color module 166 is able to more efficiently and quickly compute due to the lower overhead of not having to search the entire mathematically defined color space 300 and / or the entire color database. In addition, by generating a subset 700 of adjacent colors within the "pie chart", the monochrome color module 166 generates a subset of colors that can be analyzed using simple and efficient distance calculations. However, in some applications, the monochrome color module 166 is not required to generate a subset of adjacent colors, but in fact, operates within the entire mathematically defined color space 300.
[0053] The monochrome color module 166 may also identify a subset of hue-similar colors within the subset of neighboring colors. The subset of hue-similar colors includes colors within a specific hue difference threshold relative to the target color 110. For example, Figure 7B Depiction Fig. 7A 10. As depicted, the location 310 of the target color is at a common hue angle with various colors 730(ad) that are within a subset of hue-similar colors. A particular hue difference threshold may include colors within an absolute value of ten degrees of hue angle from the target color 110 within the mathematically defined color space 300 (e.g., CIELAB color space). However, other values may be used for similar or different effects depending on the desired results. However, in some uses, the monochromatic color module 166 is not required to generate a subset of hue-similar colors from a subset of neighboring colors, but in fact operates within the entire mathematically defined color space 300 when mapping to colors available within the color database.
[0054] The monochrome color module 166 may also identify a subset of visually similar colors within the subset of hue-similar colors. The subset of visually similar colors includes colors that are within a particular ΔE threshold from the target color. Those skilled in the art will appreciate that ΔE (ΔE) comprises a distance metric defined by the International Commission on Illumination (CIE). ΔE may be calculated using various known formulas that vary depending on the particular mathematically defined color space 300 utilized. For example, the 1976 representation for ΔE is:
[0055]
[0056] in Corresponds to the just noticeable difference in color perception. Additionally, those skilled in the art will appreciate that the modern equation for ΔE is more complex to account for non-uniformities within the various mathematically defined color spaces 300. However, for clarity and explanation, the 1976 equation is presented herein.
[0057] Using these formulas, the monochromatic color module 166 can identify a subset of visually similar colors within the subset of hue-similar colors by calculating the ΔE between each color within the subset of hue-similar colors and the target color 110. The monochromatic color module 166 identifies a subset of visually similar colors that are within a threshold ΔE from the target color 110. For example, the threshold ΔE may include a value of about 60. However, other values may be used for similar or different effects depending on the desired results. However, in some uses, the monochromatic color module 166 is not required to generate a subset of visually similar colors from within the subset of hue-similar colors, but in fact operates within the entire mathematically defined color space 300 when mapping to colors available within the color database.
[0058] Return to Figure 7B , depicting a chromaticity scale 740 and a brightness scale 750. The depicted chromaticity scale 740 and brightness scale 750 are provided only for clarity of explanation and explanation. Those skilled in the art will appreciate that these values can be calculated and displayed without using the corresponding scales. However, in order to maintain the clarity of the drawings, they are depicted as scales herein.
[0059] The monochrome color module 166 may also identify a first proposed color set within the subset of visually similar colors. The first proposed color set includes colors within a first negative chroma difference threshold from the target color and within a first positive brightness difference threshold from the target color. For example, if implemented within the CIELAB color space using chroma difference (C*), the first negative chroma difference threshold may include a range of 0 to -10, and the first positive brightness difference threshold may include a range of 10 to 20. It is believed that these specific thresholds provide desired proposed colors due to specific ranges of both chroma and brightness when compared to the target color 110. However, other ranges may be used for similar or different effects depending on the desired results. The computer system 100 may then display the first proposed color set on the user interface 200 as possible companion colors to the target color.
[0060] In addition, the monochrome color module 166 may identify a second proposed color set within the subset of visually similar colors. The second proposed color set includes colors within a first positive chroma difference threshold from the target color and within a first negative brightness difference threshold from the target color. For example, the first positive chroma difference threshold may include a range of 0 to 10, and the first negative brightness difference threshold may include a range of -10 to -20. It is believed that these specific thresholds provide the desired proposed colors due to the specific ranges of both chroma and brightness when compared to the target color 110. However, other ranges may be used for similar or different effects depending on the desired results. The computer system 100 may then display the second proposed color set on the user interface 200 as a possible companion color to the target color.
[0061] In addition, the monochrome color module 166 may identify a third proposed color set within the subset of visually similar colors. The third proposed color set includes colors within a second negative chroma difference threshold from the target color and within a second positive brightness difference threshold from the target color. In some cases, the absolute value of the second negative chroma difference threshold is greater than the first negative chroma difference threshold, and the absolute value of the second positive brightness difference threshold is greater than the first positive brightness difference threshold. For example, the second negative chroma difference threshold may include a range of 0 to -20, and the second positive brightness difference threshold may include a range of 30 to 40. It is believed that these specific thresholds provide the desired proposed colors due to the specific ranges of both chroma and brightness when compared to the target color 110. However, other ranges may be used for similar or different effects depending on the desired results. The computer system 100 may then display the third proposed color set on the user interface 200 as a possible companion color to the target color.
[0062] Still further, the monochrome color module 166 may identify a fourth proposed color set within the subset of visually similar colors. The fourth proposed color set includes colors within a second positive chroma difference threshold from the target color and within a second negative brightness difference threshold from the target color. In some cases, the absolute value of the second positive chroma difference threshold is greater than the first positive chroma difference threshold, and the absolute value of the second negative chroma difference threshold is greater than the first positive brightness difference threshold. For example, the second positive chroma difference threshold may include a range of 0 to 20, and the second negative brightness difference threshold may include a range of -30 to -40. It is believed that these specific thresholds provide the desired proposed colors due to the specific ranges of both chroma and brightness when compared to the target color 110. However, other ranges may be used for similar or different effects depending on the desired results. The computer system 100 may then display the fourth proposed color set on the user interface 200 as a possible companion color to the target color.
[0063] Although the examples described above utilize the monochrome color module 166 to identify a specific range of chromaticity and brightness offsets to generate a proposed color set, other ranges may also be used to similar effect. For example, Table 2 describes ten different examples of combinations of chromaticity and brightness ranges that may be used to identify proposed colors within a subset of visually similar colors.
[0064] Suggested Colors Chroma brightness Proposed Color 1 <=-50 and >=-70 <=90 and >=70 Proposed Color 2 <=-30 and >=-50 <=70 and >=50 Proposed Color 3 <=-10 and >=-30 <=50 and >=30 Proposed Color 4 <=0 and >=-20 <=30 and >=10 Proposed Color 5 <=10 and >=-10 <=10 and >=-10 Proposed Color 6 <=30 and >=10 <=-10 and >=-30 Proposed Color 7 <=40 and >=20 <=-30 and >=-50 Proposed Color 8 <=50 and >=30 <=-50 and >=-70 Proposed Color 9 <=70 and >=50 <=-70 and >=-90 Suggested Colors 10 <=90 and >=70 <=-90 and >=-110
[0065] Table 2
[0066] Figure 8 The location 310 of the target color and the locations 800, 810 of possible proposed colors within the mathematically defined color space 300 are depicted. Figure 1, the neighboring color module 168 may identify a position 800 of a first proposed neighboring color within the mathematically defined color space 300. The position 800 of the first proposed neighboring color is a positive threshold offset in chromaticity value from the position 310 of the target color within the mathematically defined color space 300. The neighboring color module 168 identifies the first proposed neighboring color within the color database that is closest to the position 800 of the first proposed neighboring color. The positive threshold may include a chromaticity value of 15. The neighboring color module 168 also identifies a position 810 of a second proposed neighboring color within the mathematically defined color space 300. The position 810 of the second proposed neighboring color is a negative threshold offset in chromaticity value from the position 310 of the target color within the mathematically defined color space 300. The negative threshold may include a chromaticity value of -15. The neighboring color module 168 identifies the second proposed neighboring color within the color database that is closest to the position 810 of the second proposed neighboring color. The computer system 100 then displays the first proposed neighboring color and the second proposed neighboring color on the user interface.
[0067] Thus, the methods, systems, and computer-readable media disclosed herein provide several examples of technical improvements in the field of computer-generated color palettes. Modern color databases are large and complex. Computers lack the intuitive ability to recognize colors that are aesthetically pleasing when combined together. The embodiments disclosed herein provide improved methods for efficiently generating computer-generated color palettes.
[0068] The following discussion now relates to various methods and method actions that can be performed. Although method actions may be discussed in a certain order or illustrated in a flowchart as occurring in a particular order, no particular ordering is required unless otherwise specified or required because one action depends on another action being completed before the action is performed.
[0069] Fig. 9 Flowchart depicting steps in a method 900 for dynamic generation of custom color selections. Method 900 includes an act 910 of receiving a target color. Act 910 includes receiving an indication of a target color from a user. For example, Figure 1 As depicted and described, a user provides an indication of a target color 110 to the computer system 100. The computer system 100 then maps the indication of the target color 110 to an actual target color 110 that exists within the color database.
[0070] Additionally, method 900 includes an act 920 of identifying a location of a target color within a color space. Act 920 includes identifying a location 310 of a target color within a mathematically defined color space 300. For example, Figures 3 to 8As depicted and described, several different mathematically defined color spaces 300 have been created and are conventionally known in the art. The computer system 100 is configured to identify a location 310 of a target color 110 identified within a color database within the mathematically defined color space 300. In some cases, the location 310 of the target color may be provided by information within the color database, while in other cases, the computer system 100 calculates the location.
[0071] Method 900 also includes an act 930 of identifying a location of a second color within the color space. Act 930 includes identifying a location 320 of the second color within the mathematically defined color space 300. For example, as relative to Figure 3 As depicted and described, relative color module 164 may calculate the inverse of the coordinates of location 310 of the target color. The resulting “relative location” may include location 320 of the second color.
[0072] Additionally, method 900 includes an act 940 of generating a first golden triangle in the color space. Act 940 includes generating a first golden triangle in the mathematically defined color space, wherein the location of the target color includes a first vertex of the first golden triangle, the location of the second color includes a second vertex of the first golden triangle, and the location of the third color includes a third vertex of the first golden triangle. Figures 3 to 5 As depicted and described, golden ratio module 162 identifies a location 320 of the third color using the golden ratio. Using the location 320 of the third color, golden ratio module 162 is able to generate a golden triangle within the mathematically defined color space 300.
[0073] Additionally, method 900 includes an act 950 of displaying the target color, the second color, and the third color. Act 950 includes displaying an indication of the target color 110, the second color, and the third color on user interface 200. For example, as shown in FIG. Figure 2 As depicted and described, user interface 200 displays various different categories 220 (ac) of companion colors 210, which may include secondary colors and tertiary colors.
[0074] Although the subject matter has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above, or the order of the acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
[0075] As used herein, unless otherwise expressly stated, all numbers, such as those representing values, ranges, percentage amounts, etc., may be interpreted as beginning with the term even if the word "about" does not explicitly appear. All numerical ranges recited herein are intended to include all subranges incorporated therein. The plural encompasses the singular and vice versa. In addition, the stated values and ranges are not meant to be exhaustive, but rather are meant to indicate examples of possible ranges and limitations of color values.
[0076] While specific examples of the present invention have been described above for purposes of illustration, it will be apparent to those skilled in the art that numerous changes in detail may be made thereto without departing from the invention as defined in the appended claims.
[0077] The present invention may include or utilize a special or general-purpose computer system, which includes computer hardware, such as one or more processors and system memory, as discussed in more detail below. Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer-executable instructions and / or data structures. Such computer-readable media can be any available media that can be accessed by a general or special-purpose computer system. Computer-readable media that store computer-executable instructions and / or data structures are computer storage media. Computer-readable media that carry computer-executable instructions and / or data structures are transmission media. Therefore, as an example and not limitation, embodiments of the present invention may include at least two distinct computer-readable media: computer storage media and transmission media.
[0078] Computer storage media is a physical storage medium that stores computer-executable instructions and / or data structures. Physical storage media includes computer hardware, such as RAM, ROM, EEPROM, solid-state drive ("SSD"), flash memory, phase-change memory ("PCM"), optical disk storage, magnetic disk storage or other magnetic storage, or any other hardware storage device that can be used to store program code in the form of computer-executable instructions or data structures that can be accessed and executed by a general-purpose or special-purpose computer system to implement the disclosed functions of the present invention.
[0079] Transmission media may include networks and / or data links that may be used to carry program code in the form of computer executable instructions or data structures and that may be accessed by general or special purpose computer systems. A "network" is defined as one or more data links that enable the transmission of electronic data between computer systems and / or modules and / or other electronic devices. When information is transmitted or provided to a computer system via a network or another communication connection (hardwired, wireless, or a combination of hardwired or wireless), the computer system may view the connection as a transmission medium. Combinations of the above should also be included within the scope of computer readable media.
[0080] In addition, upon reaching various computer system components, program code in the form of computer-executable instructions or data structures can be automatically transferred from transmission media to computer storage media (or vice versa). For example, computer-executable instructions or data structures received via a network or data link can be cached in RAM within a network interface module (e.g., "NIC"), and then ultimately transferred to computer system RAM and / or low-volatility computer storage media at the computer system. Thus, it should be understood that computer storage media can be included in computer system components that also (or even primarily) utilize transmission media.
[0081] Computer executable instructions include, for example, instructions and data, which, when executed at one or more processors, cause a general purpose computer system, a special purpose computer system, or a special purpose processing device to perform a function or group of functions. Computer executable instructions may be, for example, binary, intermediate format instructions (such as assembly language), or even source code.
[0082] Those skilled in the art will appreciate that the present invention can be practiced in a network computing environment with various types of computer system configurations (including personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, microcomputers, mainframe computers, mobile phones, PDAs, tablet computers, pagers, routers, switches, etc.). The present invention can also be practiced in a distributed system environment where both local and remote computer systems perform tasks, and the local and remote computer systems are linked by a network (via a hardwired data link, a wireless data link, or a combination of a hardwired and wireless data link). Therefore, in a distributed system environment, a computer system can include multiple constructed computer systems. In a distributed system environment, a program module can be located in both local and remote memory storage devices.
[0083] Those skilled in the art will also appreciate that the present invention may be practiced in a cloud computing environment. A cloud computing environment may be distributed, but this is not required. When distributed, a cloud computing environment may be distributed internationally within an organization and / or have components owned across several organizations. In this specification and the appended claims, "cloud computing" is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage devices, applications, and services). The definition of "cloud computing" is not limited to any of the other numerous advantages that may be obtained from such a model when properly deployed.
[0084] The cloud computing model can be composed of various characteristics (e.g., on-demand self-service, wide network access, resource pooling, rapid elasticity, measurable services, etc.). The cloud computing model can also appear in the form of various service models (e.g., software as a service ("SaaS"), platform as a service ("PaaS"), and infrastructure as a service ("IaaS")). The cloud computing model can also be deployed using different deployment models (e.g., private cloud, community cloud, public cloud, hybrid cloud, etc.).
[0085] Some embodiments (e.g., cloud computing environments) may include a system that includes one or more hosts, each of which is capable of running one or more virtual machines. During operation, the virtual machine simulates an operating computing system, thereby supporting an operating system and possibly one or more other applications. In some embodiments, each host includes a hypervisor that simulates the virtual resources of the virtual machine using physical resources that are abstract from the perspective of the virtual machine. The hypervisor also provides appropriate isolation between virtual machines. Thus, from the perspective of any given virtual machine, the hypervisor provides the illusion that the virtual machine is interfacing with physical resources, even though the virtual machine is only interfacing with the appearance of physical resources (e.g., virtual resources). Examples of physical resources include processing power, memory, disk space, network bandwidth, media drives, etc.
[0086] The present invention is further specified in the following clauses:
[0087] Item 1: A computer system for dynamic generation of custom color selections, comprising:
[0088] one or more processors; and
[0089] One or more computer-readable media having stored thereon executable instructions which, when executed by one or more processors, configure a computer system to perform a method according to any one of clauses 17 to 25, in particular at least the following:
[0090] receiving an indication of a target color from a user;
[0091] Identify the location of a target color within a mathematically defined color space;
[0092] identifying a location of a second color within a mathematically defined color space;
[0093] Generates the first golden triangle in a mathematically defined color space where:
[0094] The location of the target color includes the first vertex of the first golden triangle.
[0095] The position of the second color includes the second vertex of the first golden triangle, and
[0096] The position of the third color includes the third vertex of the first golden triangle; and
[0097] An indication of the target color and the third color is displayed on a user interface.
[0098] Clause 2: The computer system of clause 1, wherein receiving an indication of the target color from the user comprises providing an image or sample of the object.
[0099] Clause 3: The computer system of clause 2, wherein receiving the indication of the target color from the user comprises measuring a color of an image or sample of the object using a spectrometer, wherein the measured color is an indication of the target color.
[0100] Clause 4: A computer system according to any one of clauses 1 to 3, wherein the executable instructions include instructions executable to configure the computer system to:
[0101] Generates a second golden triangle in a mathematically defined color space where:
[0102] The location of the target color includes the first vertex of the second golden triangle.
[0103] The position of the third color includes the second vertex of the second golden triangle, and
[0104] The position of the fourth color includes the third vertex of the second golden triangle; and
[0105] An indication of the target color, the third color, and the fourth color is displayed on the user interface.
[0106] Clause 5: A computer system according to clause 4, wherein the third color comprises a specific color selected from a color database that is located closest to a position of the third color in a mathematically defined color space, and / or
[0107] The fourth color comprises a specific color selected from a color database that is located closest to a position of the fourth color in a mathematically defined color space.
[0108] Item 6: A computer system according to any of items 1 to 5, wherein identifying the position of the second color within a mathematically defined color space includes calculating a second color coordinate set that is opposite to the coordinate set associated with the target color, in particular opposite to the a* coordinates and b* coordinates in the CIELAB color space.
[0109] Clause 7: The computer system of any of Clauses 1 to 6, wherein the executable instructions include instructions executable to configure the computer system to display a second color on a user interface.
[0110] Clause 8: The computer system of any of Clauses 1 to 7, wherein the second color comprises a specific color selected from the color database that is located closest to the position of the second color within the mathematically defined color space.
[0111] Clause 9: The computer system of any of Clauses 1 to 8, wherein the third color comprises a specific color selected from the color database that is located closest to the location of the third color within the mathematically defined color space.
[0112] Clause 10: The computer system of any one of clauses 1 to 9, wherein receiving an indication of a target color from a user comprises:
[0113] Receive a specific color; and
[0114] Identifying the closest matching color to a specific color within a color database, wherein identifying the location of the target color within a mathematically defined color space includes:
[0115] A closest matching color to the indication of the target color is identified within the color database, wherein the closest matching color is the location of the target color.
[0116] Clause 11: The computer system of any one of Clauses 1 to 10, wherein the executable instructions include instructions executable to configure the computer system to:
[0117] A subset of neighboring colors is generated from a color database of available colors by selecting colors within the color database that are within plus or minus fifteen degrees of the hue variance of a target color within a mathematically defined color space, where the target color is located at an a* and b* coordinate pair within the CIELAB color space.
[0118] Clause 12: The computer system of any one of clauses 1 to 11, wherein the executable instructions include instructions executable to configure the computer system to:
[0119] identifying a subset of hue-similar colors within the subset of neighboring colors, wherein the subset of hue-similar colors includes colors within a particular hue difference threshold, such as 10 degrees, relative to the target color;
[0120] identifying a subset of visually similar colors within the subset of hue-similar colors, wherein the subset of visually similar colors includes colors within a particular ΔE threshold, e.g., less than 60 or 30 or 20 or 10 or 5, relative to a target color;
[0121] Identifying a first proposed color set within the subset of visually similar colors, wherein the first proposed color set includes colors within a first negative chromaticity difference threshold, e.g., 0 to -10, relative to the target color and within a first positive luminance difference threshold, e.g., 10 to 20, relative to the target color;
[0122] Identifying a second proposed color set within the subset of visually similar colors, wherein the second proposed color set includes colors within a first positive chrominance difference threshold, e.g., 0 to 10, relative to the target color and within a first negative luminance difference threshold, e.g., -10 to -20, relative to the target color; and
[0123] The first proposed color set and the second proposed color set are displayed on a user interface.
[0124] Clause 13: A computer system according to any one of clauses 1 to 12, wherein the mathematically defined color space is a CIELAB color space, where L* is lightness, a* is a red / green value and b* is a blue / yellow value; and / or an RGB color space.
[0125] Item 14: A computer system according to any one of items 1 to 13, wherein the identification of the positions of the corresponding colors, in particular the target color, the second color and the third color, within a mathematically defined color space is performed in a CIELAB color space, wherein the coordinates of the positions include a* values and b* values in the CIELAB color space.
[0126] Clause 15: The computer system of any one of clauses 1 to 14, wherein the executable instructions include instructions executable to configure the computer system to:
[0127] A third proposed color set within the subset of visually similar colors is identified, wherein the third proposed color set includes colors within a second negative chromaticity difference threshold, e.g., 0 to -20, relative to the target color and within a second positive luminance difference threshold, e.g., 30 to 40, relative to the target color, wherein:
[0128] The absolute value of the second negative chroma difference threshold is greater than the first negative chroma difference threshold, and
[0129] The absolute value of the second positive brightness difference threshold is greater than the first positive brightness difference threshold;
[0130] A fourth proposed color set within the subset of visually similar colors is identified, wherein the fourth proposed color set includes colors within a second positive chrominance difference threshold, e.g., 0 to 20, relative to the target color and within a second negative luminance difference threshold, e.g., -30 to -40, relative to the target color, wherein:
[0131] The absolute value of the second positive chrominance difference threshold is greater than the first positive chrominance difference threshold, and
[0132] The absolute value of the second negative chrominance difference threshold is greater than the first positive luminance difference threshold; and
[0133] The third proposed color set and the fourth proposed color set are displayed on the user interface.
[0134] Clause 16: The computer system of any one of Clauses 1 to 15, wherein the executable instructions include instructions executable to configure the computer system to:
[0135] identifying a position of a first proposed neighboring color within a mathematically defined color space, wherein the position of the first proposed neighboring color is a positive threshold offset of chromaticity value, e.g., 15, relative to a position of a target color within the mathematically defined color space;
[0136] identifying a first proposed neighboring color within a color database that is closest to a position of the first proposed neighboring color;
[0137] identifying a position of a second proposed neighboring color within the mathematically defined color space, wherein the position of the second proposed neighboring color is a negative threshold offset, such as 15, of the chromaticity value relative to the position of the target color within the mathematically defined color space;
[0138] identifying a second proposed neighboring color within the color database that is closest to the location of the second proposed neighboring color; and
[0139] The first proposed neighboring color and the second proposed neighboring color are displayed on a user interface.
[0140] Clause 17: A method executed on one or more processors for dynamic generation of custom color selections, in particular as defined in any one of clauses 1 to 16 for use with a computer system, comprising:
[0141] receiving an indication of a target color from a user;
[0142] Identify the location of a target color within a mathematically defined color space;
[0143] identifying a location of a second color within a mathematically defined color space;
[0144] Generates the first golden triangle in a mathematically defined color space where:
[0145] The location of the target color includes the first vertex of the first golden triangle.
[0146] The position of the second color includes the second vertex of the first golden triangle, and
[0147] The position of the third color includes the third vertex of the first golden triangle; and
[0148] An indication of the target color, the second color, and the third color is displayed on a user interface.
[0149] Clause 18: The method of clause 17, further comprising:
[0150] Generates a second golden triangle in a mathematically defined color space where:
[0151] The location of the target color includes the first vertex of the second golden triangle.
[0152] The position of the third color includes the second vertex of the second golden triangle, and
[0153] The position of the fourth color includes the third vertex of the second golden triangle; and
[0154] An indication of the target color, the third color, and the fourth color is displayed on the user interface.
[0155] Clause 19: The method of clause 17 or 18, wherein identifying the location of the second color within the mathematically defined color space comprises calculating a set of second color coordinates that are the inverse of a set of coordinates associated with the target color.
[0156] Clause 20: The method of any one of Clauses 17 to 19, the method of claim 11, further comprising configuring the computer system to display the second color on the user interface.
[0157] Clause 21: A method according to any one of clauses 17 to 20, a method according to claim 11, wherein the third color comprises a specific color selected from the color database that is located closest to the position of the third color in the mathematically defined color space.
[0158] Clause 22: The method of clause 21, wherein receiving an indication of a target color from a user comprises:
[0159] Receive a specific color; and
[0160] Identifying the closest matching color to a specific color within a color database, wherein identifying the location of the target color within a mathematically defined color space includes:
[0161] A closest matching color to the indication of the target color is identified within the color database, wherein the closest matching color is the target color.
[0162] Clause 23: A method according to any one of clauses 17 to 22, further comprising generating a subset of adjacent colors from a color database of available colors by selecting colors within plus or minus fifteen degrees of the hue variance of the target color within a mathematically defined color space within the color database.
[0163] Clause 24: A method according to any one of clauses 17 to 23, further comprising:
[0164] identifying a subset of hue-similar colors within the subset of neighboring colors, wherein the subset of hue-similar colors includes colors within a particular hue difference threshold, such as 10 degrees, relative to the target color;
[0165] identifying a subset of visually similar colors within the subset of hue-similar colors, wherein the subset of visually similar colors includes colors within a particular ΔE threshold, e.g., less than 60 or 30 or 20 or 10 or 5, relative to a target color;
[0166] Identifying a first proposed color set within the subset of visually similar colors, wherein the first proposed color set includes colors within a first negative chromaticity difference threshold, e.g., 0 to -10, relative to the target color and within a first positive luminance difference threshold, e.g., 10 to 20, relative to the target color;
[0167] Identifying a second proposed color set within the subset of visually similar colors, wherein the second proposed color set includes colors within a first positive chrominance difference threshold, e.g., 0 to 10, relative to the target color and within a first negative luminance difference threshold, e.g., -10 to -20, relative to the target color; and
[0168] The first proposed color set and the second proposed color set are displayed on a user interface.
[0169] Clause 25: A method according to any one of clauses 17 to 24, further comprising:
[0170] identifying a subset of hue-similar colors within the subset of neighboring colors, wherein the subset of hue-similar colors includes colors within a particular hue difference threshold, such as 10 degrees, relative to the target color;
[0171] identifying a subset of visually similar colors within the subset of hue-similar colors, wherein the subset of visually similar colors includes colors within a particular ΔE threshold, e.g., less than 60 or 30 or 20 or 10 or 5, relative to a target color;
[0172] A third proposed color set within the subset of visually similar colors is identified, wherein the third proposed color set includes colors within a second negative chromaticity difference threshold, e.g., 0 to -20, relative to the target color and within a second positive luminance difference threshold, e.g., 30 to 40, relative to the target color, wherein:
[0173] The absolute value of the second negative chroma difference threshold is greater than the first negative chroma difference threshold, and
[0174] The absolute value of the second positive brightness difference threshold is greater than the first positive brightness difference threshold;
[0175] A fourth proposed color set within the subset of visually similar colors is identified, wherein the fourth proposed color set includes colors within a second positive chrominance difference threshold, e.g., 0 to 20, relative to the target color and within a second negative luminance difference threshold, e.g., -30 to -40, relative to the target color, wherein:
[0176] The absolute value of the second positive chrominance difference threshold is greater than the first positive chrominance difference threshold, and
[0177] The absolute value of the second negative chrominance difference threshold is greater than the first positive luminance difference threshold; and
[0178] The third proposed color set and the fourth proposed color set are displayed on the user interface.
[0179] Clause 26: A computer-readable medium comprising one or more physical computer-readable storage media having stored thereon computer-executable instructions, in particular as defined in any one of clauses 1 to 16, which when executed at a processor cause a computer system to perform a method for dynamic generation of custom color selections, in particular as defined in any one of clauses 17 to 25, comprising:
[0180] receiving an indication of a target color from a user;
[0181] Identify the location of a target color within a mathematically defined color space;
[0182] identifying a location of a second color within a mathematically defined color space;
[0183] Generates the first golden triangle in a mathematically defined color space where:
[0184] The location of the target color includes the first vertex of the first golden triangle.
[0185] The position of the second color includes the second vertex of the first golden triangle, and
[0186] The position of the third color includes the third vertex of the first golden triangle; and
[0187] An indication of the target color, the second color, and the third color is displayed on a user interface.
[0188] The present invention may be implemented in other specific forms without departing from the spirit or essential characteristics of the present invention. The described embodiments should be considered in all respects to be illustrative only and not restrictive. Therefore, the scope of the present invention is indicated by the appended claims rather than by the foregoing description. All changes falling within the equivalent meaning and scope of the claims should be included within their scope.
Claims
1. A computer system for dynamic generation of custom color selections, wherein include: one or more processors; as well as One or more computer-readable media having executable instructions stored thereon that, when executed by the one or more processors, configure the computer system to perform at least the following: receiving an indication of a target color from a user; identifying a location of the target color within a mathematically defined color space; identifying a location of a second color within the mathematically defined color space; A first golden triangle is generated within the mathematically defined color space, where: The position of the target color includes a first vertex of the first golden triangle, The position of the second color includes the second vertex of the first golden triangle, and The position of the third color includes the third vertex of the first golden triangle; and An indication of the target color and the third color of the first golden triangle is displayed on a user interface. 2 . The computer system of claim 1 , wherein receiving an indication of a target color from a user comprises providing an image or sample of the object.
3. The computer system of claim 2, wherein receiving an indication of a target color from a user comprises measuring the color of the image or sample of an object using a spectrometer, wherein the measured color is the indication of the target color from the user.
4. The computer system according to any one of claims 1 to 3, wherein the executable instructions include instructions that can be executed to configure the computer system to perform the following operations: generating a second golden triangle within said mathematically defined color space, in: The position of the target color includes a first vertex of the second golden triangle, The position of the third color includes the second vertex of the second golden triangle, and The position of the fourth color includes the third vertex of the second golden triangle; and Indications of the target color, the third color, and the fourth color are displayed on the user interface.
5. The computer system of claim 4, wherein the third color comprises a specific color selected from a color database that is located closest to the position of the third color in the mathematically defined color space, and / or Wherein the fourth color comprises a specific color selected from a color database that is located closest to the position of the fourth color within the mathematically defined color space.
6. The computer system of claim 1, wherein identifying the position of the second color within the mathematically defined color space comprises calculating a second set of color coordinates that is the inverse of a set of coordinates associated with the target color.
7. The computer system of claim 1, wherein the executable instructions include instructions executable to configure the computer system to display the second color on the user interface.
8. The computer system of claim 1, wherein the second color comprises a specific color selected from a color database that is located closest to the position of the second color within the mathematically defined color space.
9. The computer system according to claim 1, wherein the third color includes a specific color selected from a color database and positioned closest to the position of the third color in the mathematically defined color space.
10. The computer system according to claim 1, wherein receiving the indication of the target color from the user comprises: receiving a specific color; and identifying, within the color database, a matching color that is closest to the specific color, wherein identifying the position of the target color in the mathematically defined color space comprises: identifying, within the color database, a matching color that is closest to the indication of the target color, wherein the closest matching color is the position of the target color.
11. The computer system according to claim 1, wherein the executable instructions comprise instructions capable of being executed to configure the computer system to perform the following operations: generating a subset of neighboring colors from the color database by selecting colors within plus or minus fifteen degrees of the hue variance of the target color in the mathematically defined color space within the available color database, wherein the target color is located at an a* and b* coordinate pair within the CIELAB color space.
12. The computer system according to claim 11, wherein the executable instructions comprise instructions capable of being executed to configure the computer system to perform the following operations: identifying a subset of hue-similar colors within the subset of neighboring colors, wherein the subset of hue-similar colors includes colors within a specific hue difference threshold relative to the target color; identifying a subset of visually similar colors within the subset of hue-similar colors, wherein the subset of visually similar colors includes colors within a specific ΔE threshold relative to the target color; identifying a first proposed color set within the subset of visually similar colors, wherein the first proposed color set includes colors within a first negative chromaticity difference threshold relative to the target color and within a first positive luminance difference threshold relative to the target color; identifying a second proposed color set within the subset of visually similar colors, wherein the second proposed color set includes colors within a first positive chromaticity difference threshold relative to the target color and within a first negative luminance difference threshold relative to the target color; and displaying the first proposed color set and the second proposed color set on the user interface.
13. The computer system according to claim 12, wherein the mathematically defined color space is the CIELAB color space, where L* is the luminance, a* is the red / green value, and b* is the blue / yellow value; and / or the RGB color space.
14. The computer system according to claim 13, wherein identifying the positions of the target color, the second color, and the third color in the mathematically defined color space is performed in the CIELAB color space, wherein the coordinates of the positions include the a* value and the b* value in the CIELAB color space.
15. The computer system of claim 12, wherein the executable instructions include instructions executable to configure the computer system to: identifying a third proposed color set within the subset of visually similar colors, wherein the third proposed color set includes colors within a second negative chroma difference threshold relative to the target color and within a second positive luminance difference threshold relative to the target color, in: The absolute value of the second negative chromaticity difference threshold is greater than the first negative chromaticity difference threshold, and An absolute value of the second positive brightness difference threshold is greater than the first positive brightness difference threshold; identifying a fourth proposed color set within the subset of visually similar colors, wherein the fourth proposed color set includes colors within a second positive chroma difference threshold relative to the target color and within a second negative luminance difference threshold relative to the target color, wherein: The absolute value of the second positive chrominance difference threshold is greater than the first positive chrominance difference threshold, and The absolute value of the second negative chromaticity difference threshold is greater than the first positive luminance difference threshold; as well as The third proposed color set and the fourth proposed color set are displayed on the user interface.
16. The computer system of claim 12, wherein the executable instructions include instructions executable to configure the computer system to: identifying a location of a first proposed neighboring color within the mathematically defined color space, wherein the location of the first proposed neighboring color is a positive threshold offset of chromaticity value relative to the location of the target color within the mathematically defined color space; identifying the first proposed neighboring color within the color database that is closest to the location of the first proposed neighboring color; identifying a position of a second proposed neighboring color within the mathematically defined color space, wherein the position of the second proposed neighboring color is a negative threshold offset of chromaticity value relative to the position of the target color within the mathematically defined color space; identifying the second proposed neighboring color within the color database that is closest to the location of the second proposed neighboring color; as well as The first proposed neighboring color and the second proposed neighboring color are displayed on the user interface.
17. A method for dynamically generating custom color selections executed on one or more processors, wherein include: receiving an indication of a target color from a user; identifying a location of the target color within a mathematically defined color space; identifying a location of a second color within the mathematically defined color space; A first golden triangle is generated within the mathematically defined color space, where: The position of the target color includes a first vertex of the first golden triangle, The position of the second color includes the second vertex of the first golden triangle, and The position of the third color includes the third vertex of the first golden triangle; and Indications of the target color, the second color, and the third color are displayed on a user interface.
18. The method according to claim 17, further comprising: include: A second golden triangle is generated within the mathematically defined color space, where: The position of the target color includes a first vertex of the second golden triangle, The position of the third color includes the second vertex of the second golden triangle, and The position of the fourth color includes the third vertex of the second golden triangle; and Indications of the target color, the third color, and the fourth color are displayed on the user interface.
19. The method of claim 17, wherein identifying the position of the second color within the mathematically defined color space comprises calculating a second set of color coordinates that is the inverse of a set of coordinates associated with the target color.
Citation Information
Patent Citations
RGB color conversion palettes
US20090009528A1
Color signal processing apparatus, color signal processing method, color conversion apparatus computer-readable medium
US20090310153A1
Distributed computing systems, graphical user interfaces, and processor-executable logic for provisioning PHI-based color evaluation and harmonization
US20200379613A1