A brief description of your project.
Project description
ColorCompass
Overview
ColorCompass is a Python library designed to efficiently find the named color to a given RGB value by using an efficient Euclidean distance calculation across a range of predefined colors.
How it Works
The Euclidean Distance Calculation
The crux of ColorCompass lies in utilizing the Euclidean Distance formula to find the matching color name for a given RGB input. Given an RGB value, the Euclidean Distance between two points (color values, in our context) in a three-dimensional space (R, G, B) is calculated as:
Distance = √(R_2 - R_1)^2 + (G_2 - G_1)^2 + (B_2 - B_1)^2
Here,
- (R_1, G_1, B_1) and (R_2, G_2, B_2) are the RGB values of the two colors being compared.
- The formula basically measures the straight-line distance between two points in a 3D space (your two colors, in the RGB color space).
The Algorithmic Approach
-
Input Color Value: A user inputs an RGB color value that they'd like to map to a named color.
-
Distance Calculation: For the input color, ColorCompass calculates the Euclidean Distance between the input RGB value and all stored RGB values in the library's color database, effectively identifying which stored color is (has the minimal Euclidean Distance) to the provided input.
-
Return Color: The algorithm identifies the color name associated with the RGB value in the database that has the smallest Euclidean Distance to the input color. This color name is returned to the user as the closest match.
🚀 Installation
You can install ColorCompass using pip:
pip install colorcompass
🎨 Basic Usage
To find the color name for a given RGB value, simply use the get_color_name
function as follows:
from colorcompass import get_color_name
# Define your target color as an RGB list or a hexadecimal string
target_color_rgb = [152, 251, 152]
target_color_hex = "#98FB98"
# Use the function to find the color name
color_name_rgb = get_color_name(target_color_rgb)
color_name_hex = get_color_name(target_color_hex)
# Print the found color name
print(f"Color to RGB{tuple(target_color_rgb)}: {color_name_rgb}")
print(f"Color to {target_color_hex}: {color_name_hex}")
Full Example
from colorcompass import get_color_name
def main():
# Define some target colors
target_colors = [
[152, 251, 152],
[70, 130, 180],
[255, 0, 0]
]
# Find and print the color name for each target color
for color in target_colors:
print(f"Color to RGB{tuple(color)} is {get_color_name(color)}")
if __name__ == "__main__":
main()
📄 License
ColorCompass is licensed under the MIT License. See the LICENSE file for more details.
🙌 Contributing
Contributions are welcome! Please read the CONTRIBUTING file for details on our code of conduct and the process for submitting pull requests.
📞 Contact
If you have questions or issues, please open an issue.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file colorcompass-1.1.0.tar.gz
.
File metadata
- Download URL: colorcompass-1.1.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0118fe293c2ff22840131212495fdbd64352369060ae5f2593f7ee458c6bd5c8 |
|
MD5 | 5a646d5532ee3560d1fc4d4370c3eff4 |
|
BLAKE2b-256 | 79f9c41b2efabbf6a1f52fdee61f797bc2d0796f1f9dbbba500f7db58eb8788b |
File details
Details for the file colorcompass-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: colorcompass-1.1.0-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82b4b943fbbb16cc2da109badd984614af1f1961d57eefb7d250cbb8373d0fdc |
|
MD5 | f5af373d139cffb86034890ba2762a63 |
|
BLAKE2b-256 | e875ccfdff3fae209229b63a3fabea291119286adc7d44e07b32a17607cf1156 |