-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdcolor.py
30 lines (26 loc) · 891 Bytes
/
dcolor.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from PIL import Image
import requests
def get_dominant_color(image_path):
image = Image.open(image_path)
image = image.resize((20, 20))
pixels = image.getdata()
red, green, blue = 0, 0, 0
count = 0
for pixel in pixels:
red += pixel[0]
green += pixel[1]
blue += pixel[2]
count += 1
red = int(red / count)
green = int(green / count)
blue = int(blue / count)
return red, green, blue
def set_wled_color(red, green, blue):
url = "http://WLED_HOST/json/state"
payload = {"on": True, "bri": 255, "transition":5, "seg":[{"col":[[red,green,blue]]}]}
headers = {'Content-Type': 'application/json'}
response = requests.put(url, json=payload, headers=headers)
if __name__ == '__main__':
image_path = "./ambient.png"
red, green, blue = get_dominant_color(image_path)
set_wled_color(red, green, blue)