From 4b5a45a932da313271e532180001d13eb919ee5d Mon Sep 17 00:00:00 2001 From: Xevion Date: Wed, 8 Jul 2020 22:55:49 -0500 Subject: [PATCH] simple color extraction python script --- hsv/gradient.png | Bin 0 -> 2361 bytes hsv/main.py | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 hsv/gradient.png create mode 100644 hsv/main.py diff --git a/hsv/gradient.png b/hsv/gradient.png new file mode 100644 index 0000000000000000000000000000000000000000..0dae0784d1c289f2e41c89d24d34acaebb146381 GIT binary patch literal 2361 zcmX9=dpy+X8XuQcu2EswIfPSNNa-{}O5|2D8rPW=H7J*(8bh+VG^t#s5@n~HwppVz zF~;IZCTh-Zxr|V*Q!cfRl67nJsT8Jt9{b09p5Obt-{<>%p69(y_FjsowuZ3=fk4pS z<>lrF_Im%>25Ve!WV4!-$#m9v}sLa)zKlB}p)sK78Sp9Y-@2 zDh(pj?Jx3^W(J%a;+;SLkbHCG%NrM?joyYeVs4#S@W-LowgliipyrG;LPVd$*d)T+qbjuZ( z@?b@1(z{6v?+7a}!+n?IBB`vb$;+=UySJI8tw?ULj?u~Ms*Rvpou{3#E&%7y=?QaA z;m(onKm&57Ogs4sBK&+6N#8-V9@@j$Ed2>$;X4=neM=r0CC^TzFh-em?nLzfKw<_Hdv`M)) z%sKmP-5!49wE%hDWCCI~kL&?sUizpsFi}* zVqV*dMR!Eq0Uj{5Xbj60^^>%-ReFg&qPf)+vor&;>IQKzw5*w9g1uF!e=)>#H+&Ua z$2`&fZ1D{%b2{sUM(AR~1x&BGFE;O$o8kZj&f3ig5&Fs{6bM#5Okd6m&4-Ur$BVwM z2C(>lkVGkKarsXb{clOI$PZWkVM^TmoMRyD)d$bt$J_b2m+KB^N2S>QM*#aV*S(AN zVvjzAZZ71t7?i?Rvv@uea1SGUJ;qnO@PIkmin!b(TLWR!nB;u&tj@56eY7LNDgWmH z*vfN!|G1x!DvXm~XdMV~Q`wyv$;AjNcvt28pcLkkJo*}59MC6Uq*WGwXs!yHm}&_l zPu$-o4jyeoO~c}*n-jNl3SCmnew>mHq3h!Fx!V(Wz%`(oS{s=T`7;6s?yWu+jQPJL z{q++1ozp|M7mWHS^#A^GdGC;M4?{}wQ2ikMheMbUt&caqMzfppLnG9*M1C)|s zZ&lLPb{!RsY*Q)iL4c>^8db9{LFLSSPYbWJ0--(r!$o6X1n6QoZCY=-nElyn&Sc(R zz+d9b?4lPz5~LNHjiU?{dPm!A$1UZT=uOLP$ND2{t2$d!H(K5_zS4?p7U3=LgaO!r zESjTbFt#@H$;>I%MHKJ~7`if!OOn(mEuv#LNyJ#SQ8lDJP20M53wGcbr?j8Nv5YyV zJJ)z#QRf4N$hO*jYUN_!w*Q|Ss`EydMd(DqDRd2n&$ZFZfosBe>w{6~riR&x>|pWR zG+<>!Pt@5i!z8?iYdVG4^AkC#tLbG3CoXY(qlch5`);#b1oeCPJa7_W4|}QoYkYCf zgf!*_CGSSTd7fv;{OAR!qjKy?c$*@Tg5KGI>@}vL0YGf$v~aZez7V5heQ!RT^26}& zNzSKwzAOu%c4cXo+J*miRcu0BHb1GXV7lXJ7+Fq9g^S81Wg)fx0~~QR`SI72aQs&( z9Nr(6@`IK#!+x=ggd%&`zo&TcVI>FID(mnn)|WMLazLPVNog{b3jOPq91RUvS>u}3 zvE)PvGSx{;{Xv7KFUzljz#6s>2JY9V@o=cmcD{wE>yqkqc&FcH7c5SbW)Db#mZvqp zsH>^s?S~{L0xvp<3`ovkcJ1m{Ss_$t^mgJkF0vW19R`9{k~3yMNHP{b?8)yrh@@y- zy=@(1%#`V*R0u`W6ty*~CGm@)m$di5Rj4(*z-FTGJo7ah11@P@prHG`Bo*EDRvT|z zSqpi3vJcIlUV-~cB6*EKouyj40myhHAyBX}+u0#luFUFLCI(b`{$lt8rg%bg;3}p# zttw_Nhqxi#cZ>bV-w}<4RxC?EJx1n^CS*<9_H273yj3#CXKS$UVe0=~%#y3pw#fd^ z_qP#dr?nZyhkMwueg@Fzt&c4Ci^C^1gs=g_kXuVv$XTmWA Q{_YTVxl`Okt_RQj1t8u>t^fc4 literal 0 HcmV?d00001 diff --git a/hsv/main.py b/hsv/main.py new file mode 100644 index 0000000..7f74ca0 --- /dev/null +++ b/hsv/main.py @@ -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)) \ No newline at end of file