OpenRGB-python-FX icon indicating copy to clipboard operation
OpenRGB-python-FX copied to clipboard

Ambient.py

Open aretaon opened this issue 4 years ago • 2 comments

Hi,

running OpenRGB under Ubuntu I found the missing screen capture support in Ambient.py quite annoying (since the remaining scripts perform well under Linux) and patched together a workaround.

319d6335f23321c77931b5fc88dc8cde4c3dc3da uses X11 to get the PIL Image from the current screen, but for performance reasons it requires compiling some C code on the machine beforehand (all credit goes to https://stackoverflow.com/questions/69645/take-a-screenshot-via-a-python-script-on-linux). Having the compiled program, Ambient.py runs very well on my machine.

I also played around using k-means clustering instead of just the average RGB value to determine the LED-setting (fd8ea3a6ac8d93d1d43a24b298c9360125feb91f). This is somewhat experimental as it required smoothing out the colors over multiple frames (in this case 3) to prevent flickering due to sampling differences. It works well for me for gaming but it requires scikit-learn for clustering and is not tested on Win or Mac.

Hope you find something oft his useful. Cheers

aretaon avatar Jan 04 '21 16:01 aretaon

This looks great so far :)

I am gonna throw in some try/except for imports and then it should be good to go

Ambient has the same issues on my windows machine but I guess the point of this MR is linux support so I am gonna merge it anyways

CoffeeIsLife87 avatar Jan 05 '21 19:01 CoffeeIsLife87

Ambient.zip

Make any adjustments you want to that and let me know when you think it is ready

Then I can test and merge if it is working as it should

CoffeeIsLife87 avatar Jan 05 '21 19:01 CoffeeIsLife87