mirror of
https://github.com/Xevion/Climb.git
synced 2025-12-06 09:14:38 -06:00
simple color extraction python script
This commit is contained in:
BIN
hsv/gradient.png
Normal file
BIN
hsv/gradient.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
22
hsv/main.py
Normal file
22
hsv/main.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
from PIL import Image
|
||||||
|
from colorsys import rgb_to_hsv
|
||||||
|
from math import ceil
|
||||||
|
|
||||||
|
img = Image.open('gradient.png')
|
||||||
|
pix = img.load()
|
||||||
|
print(img.size)
|
||||||
|
|
||||||
|
def takespread(sequence, num):
|
||||||
|
length = float(len(sequence))
|
||||||
|
arr = []
|
||||||
|
for i in range(num):
|
||||||
|
arr.append(sequence[round(length * (i / num))])
|
||||||
|
return arr
|
||||||
|
|
||||||
|
pixels = [pix[0, y] for y in range(0, img.size[1])]
|
||||||
|
pixels = [[round(p / 255, 3) for p in pixel] for pixel in pixels]
|
||||||
|
# pixels = [f'[{str(i).rjust(3)}] ' + ' '.join(str(p).rjust(3) for p in pixel) for i, pixel in enumerate(pixels)]
|
||||||
|
out = []
|
||||||
|
for pixel in takespread(pixels, 250):
|
||||||
|
out.append(f'float4({pixel[0]}, {pixel[1]}, {pixel[2]}, 1.0),')
|
||||||
|
print('\n'.join(out))
|
||||||
Reference in New Issue
Block a user