From 67cf8515a85553c9d9f68281e0d72a269660746c Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Thu, 2 Nov 2023 04:05:09 -0500 Subject: [PATCH] Add highlighted target region for dissecting images. --- OpenCVVideoParser/main.cpp | 22 +++++++++++++++++++++- OpenCVVideoParser/samples/clearscreen.png | Bin 0 -> 186319 bytes OpenCVVideoParser/samples/scorescreen.png | Bin 0 -> 232151 bytes OpenCVVideoParser/samples/songend.png | Bin 0 -> 155718 bytes OpenCVVideoParser/samples/songselect.png | Bin 0 -> 150799 bytes OpenCVVideoParser/samples/songstart.png | Bin 0 -> 162265 bytes OpenCVVideoParser/samples/stagepopup.png | Bin 0 -> 177380 bytes 7 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 OpenCVVideoParser/samples/clearscreen.png create mode 100644 OpenCVVideoParser/samples/scorescreen.png create mode 100644 OpenCVVideoParser/samples/songend.png create mode 100644 OpenCVVideoParser/samples/songselect.png create mode 100644 OpenCVVideoParser/samples/songstart.png create mode 100644 OpenCVVideoParser/samples/stagepopup.png diff --git a/OpenCVVideoParser/main.cpp b/OpenCVVideoParser/main.cpp index c996549..945d8b5 100644 --- a/OpenCVVideoParser/main.cpp +++ b/OpenCVVideoParser/main.cpp @@ -86,7 +86,10 @@ public: } } } - + vf2d upperLeft={-1,-1}; + vf2d lowerRight={-1,-1}; + bool cabDetected=false; + bool dragging=false; bool OnUserUpdate(float fElapsedTime) override { // Called once per frame, draws random coloured pixels @@ -98,6 +101,23 @@ public: frameView-=fElapsedTime*60; UpdateScreen(); } + if(!cabDetected){ + DrawString({4,ScreenHeight()-40},"Drag over the region where the cab's screen is located.\n (Make sure the entire cabinet screen is covered)",WHITE,2); + SetPixelMode(Pixel::ALPHA); + FillRectDecal(upperLeft,lowerRight-upperLeft,{255,255,255,128}); + } + if(GetMouse(Mouse::LEFT).bPressed){ + if(!dragging){ + upperLeft=GetMousePos(); + dragging=true; + } + } + if(GetMouse(Mouse::LEFT).bHeld){ + lowerRight=GetMousePos(); + } + if(GetMouse(Mouse::LEFT).bReleased){ + dragging=false; + } return true; } }; diff --git a/OpenCVVideoParser/samples/clearscreen.png b/OpenCVVideoParser/samples/clearscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..382d53c02c8250e7487292a9a69b5ca76848533f GIT binary patch literal 186319 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 $=d2(+4 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