From a39279ee7fcce38ea28e7ffd13e859741c29aad5 Mon Sep 17 00:00:00 2001 From: cubernetes Date: Thu, 10 Aug 2023 23:59:01 +0200 Subject: [PATCH] Closer to game! --- 42.png | Bin 0 -> 59152 bytes libcaca/caca/dither.c | 8 ++++---- track_hand.py | 31 +++++++++++++++++++++++++++---- working_command.sh | 10 ++++------ 4 files changed, 35 insertions(+), 14 deletions(-) create mode 100644 42.png diff --git a/42.png b/42.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7847fcabae44e34e6d88f3fa734d48b36d9ef6 GIT binary patch literal 59152 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 literal 0 HcmV?d00001 diff --git a/libcaca/caca/dither.c b/libcaca/caca/dither.c index 911469e..34b9cee 100644 --- a/libcaca/caca/dither.c +++ b/libcaca/caca/dither.c @@ -15,6 +15,7 @@ */ #include "config.h" +#include #if !defined(__KERNEL__) # if defined(HAVE_ENDIAN_H) @@ -86,8 +87,8 @@ static int const rgb_weight[] = /* List of glyphs */ static uint32_t ascii_glyphs[] = { - // ' ', '.', ':', ';', 't', '%', 'S', 'X', '@', '8', '?' - '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#' + ' ', '.', ':', ';', 't', '%', 'S', 'X', '@', '8', '?' + // '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#' }; static uint32_t shades_glyphs[] = @@ -1183,9 +1184,8 @@ int caca_dither_bitmap(caca_canvas_t *cv, int x, int y, int w, int h, } /* Now output the character */ + // printf("%d, %d, %d, %d\r\n", x, y, w, h); // HERE TIMO caca_set_color_ansi(cv, outfg, outbg); - if (x == 5) - outch = '?'; caca_put_char(cv, x, y, outch); d->increment_dither(); diff --git a/track_hand.py b/track_hand.py index 7bc1d3e..b4d4bd9 100755 --- a/track_hand.py +++ b/track_hand.py @@ -21,16 +21,42 @@ def main() -> NoReturn: # pTime = 0 # cTime = 0 + img = cv2.imread("42.png", 0) + if len(img.shape) == 2 or img.shape[2] == 1: + img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) + img = cv2.flip(img, 1) + + height, width, _ = img.shape + margin = 100 + top_margin = margin + 20 + bottom_margin = margin + 20 + left_margin = margin + right_margin = margin + img = img[top_margin:height-bottom_margin, left_margin:width-right_margin] + + side_length = min(640, 480) // 3 + overlay_resized = cv2.resize(img, (side_length, side_length)) + print(repr(overlay_resized)) + input() + sys.exit() + while True: success, frame = cap.read() + if not success: + continue + imgRGB = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) results = hands.process(imgRGB) + h, w, c = frame.shape + + img_x, img_y = 10, 10 + frame[img_y:img_y+side_length, img_x:img_x+side_length] = overlay_resized + if results.multi_hand_landmarks: for handLms in results.multi_hand_landmarks: visited_7 = False for id, lm in enumerate(handLms.landmark): - h, w, c = frame.shape cx = int(lm.x * w) cy = int(lm.y * h) # 7 one-before-index, 8 index, 4 thumb, 0 base @@ -73,9 +99,6 @@ def main() -> NoReturn: # cv2.putText(frame, str(int(fps)), (10,70), cv2.FONT_HERSHEY_PLAIN, 3, (255, 0, 255), 3) - - if not success: - continue sys.stdout.buffer.write(frame.tobytes()) # cv2.imshow("Image", frame) # cv2.waitKey(1) diff --git a/working_command.sh b/working_command.sh index d19fecb..95d286d 100755 --- a/working_command.sh +++ b/working_command.sh @@ -1,7 +1,5 @@ #!/bin/sh -# st -f 'SauceCodePro Nerd Font Mono' -e sh -c '2>/dev/null ffmpeg -re -i /dev/video0 -noautoscale -map 0:V:0 -filter:v "fps=fps=30,format=gray,hflip" -c:v libx265 -preset ultrafast -tune zerolatency -crf 30 -f nut - | TERM=xterm-mono CACA_DRIVER=ncurses DISPLAY= mpv --really-quiet --no-cache --no-config --vo=caca --untimed --profile=low-latency --fps=30 -' - -# xterm -bg black -fg white -s -fullscreen -fa 'SauceCodePro Nerd Font Mono' -fs 8 -e '2>/dev/null ffmpeg -re -i /dev/video0 -noautoscale -map 0:V:0 -filter:v "fps=fps=30,format=gray,hflip" -c:v libx265 -preset ultrafast -tune zerolatency -crf 30 -f nut - | TERM=xterm-mono CACA_DRIVER=ncurses DISPLAY= mpv --really-quiet --no-cache --no-config --vo=caca --untimed --profile=low-latency --fps=30 -; read X' - -# st -f 'SauceCodePro Nerd Font Mono' -e sh -c '{ 2>/dev/null ./track_hand.py | 2>/dev/null ffmpeg -y -f rawvideo -s 640x480 -pix_fmt bgr24 -i - -map 0:V:0 -filter:v "format=gray,hflip" -c:v libx264 -preset ultrafast -tune zerolatency -crf 30 -f nut - | TERM=xterm-mono CACA_DRIVER=ncurses DISPLAY= mpv --really-quiet --no-cache --no-config --vo=tct --untimed --profile=low-latency - || { echo Error 1>&2; read X; }; }' -st -f 'SauceCodePro Nerd Font Mono' -e sh -c '{ 2>/dev/null ./track_hand.py | 2>/dev/null ffmpeg -y -f rawvideo -s 640x480 -pix_fmt bgr24 -i - -map 0:V:0 -filter:v "hflip" -c:v libx265 -preset ultrafast -tune zerolatency -crf 30 -f nut - | TERM=xterm-mono CACA_DRIVER=ncurses DISPLAY= mpv --really-quiet --no-cache --no-config --vo=caca --untimed --profile=low-latency - || { echo Error 1>&2; read X; }; }' +# xterm -bg black -fg white -s -fullscreen -fa 'SauceCodePro Nerd Font Mono' -fs 8 -e '{ ./track_hand.py | 2>/dev/null ffmpeg -y -f rawvideo -s 640x480 -pix_fmt bgr24 -i - -map 0:V:0 -filter:v "format=gray,hflip" -c:v libx264 -preset ultrafast -tune zerolatency -crf 30 -f nut - | TERM=xterm-mono CACA_DRIVER=ncurses DISPLAY= mpv --really-quiet --no-cache --no-config --vo=caca --untimed --profile=low-latency - || { echo Error 1>&2; read X; }; }' +# st -f 'SauceCodePro Nerd Font Mono:size=10' -e sh -c '{ ./track_hand.py | 2>/dev/null ffmpeg -y -f rawvideo -s 640x480 -pix_fmt bgr24 -i - -map 0:V:0 -filter:v "format=gray,hflip" -c:v libx265 -preset ultrafast -tune zerolatency -crf 30 -f nut - | TERM=xterm-mono CACA_DRIVER=ncurses DISPLAY= mpv --really-quiet --no-cache --no-config --vo=caca --untimed --profile=low-latency - || { echo Error 1>&2; read X; }; } | ./game.py' +st -f 'SauceCodePro Nerd Font Mono:size=10' -e sh -c '{ ./track_hand.py | 2>/dev/null ffmpeg -y -f rawvideo -s 640x480 -pix_fmt bgr24 -i - -map 0:V:0 -filter:v "format=gray,hflip" -c:v libx265 -preset ultrafast -tune zerolatency -crf 30 -f nut - | TERM=xterm-mono CACA_DRIVER=ncurses DISPLAY= mpv --really-quiet --no-cache --no-config --vo=caca --untimed --profile=low-latency - || { echo Error 1>&2; read X; }; }' +# st -f 'SauceCodePro Nerd Font Mono:size=10' -e sh -c '{ ./track_hand.py | 2>/dev/null ffmpeg -y -f rawvideo -s 640x480 -pix_fmt bgr24 -i - -map 0:V:0 -filter:v "format=gray,hflip" -c:v libx264 -preset ultrafast -tune zerolatency -crf 30 -f nut - | TERM=xterm-mono CACA_DRIVER=ncurses DISPLAY= mpv --really-quiet --no-cache --no-config --vo=tct --untimed --profile=low-latency - || { echo Error 1>&2; read X; }; }'