Page Menu
Home
desp's stash
Search
Configure Global Search
Log In
Files
F368986
play.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
play.py
View Options
from
fusion.datatypes
import
*
from
fusion.device
import
get_device
from
cv2.typing
import
MatLike
import
sys
,
cv2
if
len
(
sys
.
argv
)
<
2
:
print
(
f
'Usage: {__file__} <image/video path> [profile id]'
)
exit
(
-
1
)
if
len
(
sys
.
argv
)
>=
3
:
try
:
profile
=
int
(
sys
.
argv
[
3
])
if
profile
not
in
range
(
5
):
raise
TypeError
()
except
:
print
(
'Invalid profile id given, defaulting to 1...'
)
profile
=
1
else
:
profile
=
1
dev
=
get_device
()
#change to profile for the image stream first
dev
.
set_simple_light_effect
(
FusionLightData
(
int
(
FusionLightEffect
.
Custom1
)
+
profile
-
1
,
0
,
255
,
FusionLightColor
.
Random
,
0
))
def
set_image
(
raw
:
MatLike
)
->
None
:
pre
=
cv2
.
resize
(
raw
,
(
19
,
6
),
interpolation
=
cv2
.
INTER_AREA
)
im
=
cv2
.
cvtColor
(
pre
,
cv2
.
COLOR_BGR2RGB
)
#display what's supposed to be encoded in the keyboard at this frame
cv2
.
imshow
(
'preview'
,
cv2
.
resize
(
pre
,
(
190
*
5
,
60
*
5
)))
cv2
.
waitKey
(
1
)
pixels
=
[]
h
,
w
,
_
=
im
.
shape
for
y
in
range
(
h
):
for
x
in
range
(
w
):
pixels
.
append
(
RGB
(
*
im
[
y
,
x
]))
dev
.
set_custom_light_effect
(
profile
,
PictureMatrix
.
pixel_matrix_to_keys
(
pixels
))
#apparently also works with static images
vid
=
cv2
.
VideoCapture
(
sys
.
argv
[
1
])
#skip some frames so it's not too slow
interval
=
vid
.
get
(
cv2
.
CAP_PROP_FPS
)
//
4
count
=
0
while
vid
.
isOpened
():
ret
,
frame
=
vid
.
read
()
if
ret
:
set_image
(
frame
)
count
+=
interval
else
:
vid
.
release
()
break
#keep last frame until we manually quit
cv2
.
waitKey
(
0
)
File Metadata
Details
Attached
Mime Type
text/x-python
Expires
Sun, Jul 6, 3:53 AM (16 h, 59 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
ee/93/a594faa7c46ceff58be2768075a1
Attached To
rAERO GIGABYTE Aero Fusion controller lib
Event Timeline
Log In to Comment