summaryrefslogtreecommitdiff
path: root/updateColors.py
diff options
context:
space:
mode:
Diffstat (limited to 'updateColors.py')
-rw-r--r--updateColors.py70
1 files changed, 0 insertions, 70 deletions
diff --git a/updateColors.py b/updateColors.py
deleted file mode 100644
index 266dc5f..0000000
--- a/updateColors.py
+++ /dev/null
@@ -1,70 +0,0 @@
-"""
-Basically what I want this program to dynamically update the colors based on the desktop background
-so it will grab colors from the desktop background by finding the most promident colors and then set
-the system colors to these colors. I believe there are two major components involved in making this work
-
-i. The part of the program that analyzes an image and determines the most prominent colors
-ii. The part of the program that goes into all the configuration files and updates their color schemes
-"""
-import sys
-import numpy as np
-import PIL
-import cv2 as cv
-from sklearn.cluster import KMeans
-def grabColors(img_path: str, num_colors: int) -> list():
- """
- Takes in an image, and Number of colors, then returns a list of those colors.
- The list of colors will contain the most prominent colors present in the image.
- img_path - the path where your image lives (IE, /home/chandler/Pictures/moss.png)
- num_colors - the number of colors you need back from the image
- """
- img = cv.imread(img_path)
- img = cv.cvtColor(img, cv.COLOR_BGR2RGB)
-
- # scale image down by factor of 10 to decrease computation time
- dim = (int(len(img[0])/10), int(len(img)/10))
- img = cv.resize(img, dim, interpolation= cv.INTER_AREA)
- clt = KMeans(n_clusters=num_colors, n_init='auto')
- clt.fit(img.reshape(-1, 3))
- return clt.cluster_centers_
-
-def rgbToHex(input_values):
- """
- Takes in a list of RBG color values and returns a list of those same colors as hex values
- """
- hex_list=[]
- for color in input_values:
- red = int(color[0])
- green = int(color[1])
- blue = int(color[2])
- hex_list.append('#{:02x}{:02x}{:02x}'.format(red, green, blue))
- return hex_list
-
-def compColors(color_list):
- """
- given a list of colors, generate complimentary colors to contrast the prominent colors.
- return a list of these colors.
- """
- compliments = []
- for color in color_list:
- curr_hex = color[1:] # slice off the # from the hex code
- rgb = (curr_hex[0:2], curr_hex[2:4], curr_hex[4:6])
- comp = ['%02X' % (255 - int(a, 16)) for a in rgb]
- compliments.append('#' + ''.join(comp))
- return compliments
-def updatei3Colors(config_path: str):
- pass
- """
- Given a list of colors, update the color scheme using the most popular colors
-
- """
-popularColors = grabColors('/home/chandler/Pictures/papes/blueyellow.jpg', 5)
-hex_colors = rgbToHex(popularColors)
-hex_compliments = compColors(hex_colors)
-print(hex_colors)
-print(hex_compliments)
-
-def main():
- print(sys.argv[0])
-
-main()