Skip to content

Releases: PWRFLcreative/Lightwork-Mapper

GUI Improvements and Refactoring

05 Oct 23:50
Compare
Choose a tag to compare
Pre-release
Merge pull request #43 from brainmachine/tracker

Detector, BinaryPattern & LED class

LED Detection Improvements

08 Sep 22:32
Compare
Choose a tag to compare
Pre-release

This release handles a range of edge cases, including:

  • The presence of 'invisible' or skipped LEDs. Some LED installations may include hidden LEDs that are part of the strip, but not visible. We deal with this by adding a 'fake' point to the SVG output at coordinate (0,0).
  • Duplicate point detections. Because we don't have a framesync signal from the webcam, it is challenging to synchronize the sequential LED animation used for the mapping procedure with a specific video frame. This results in some LEDs being detected more than once and offsetting the SVG sequence (causing a bad layout).
  • Points are not always accurate duplicates, but rather they are just extremely close to each other. We solve this by setting a distance threshold and filtering out points that are below the threshold.
  • 'Fake' points are detected before the first LED is fired. We solve this by not detecting 'invisible' LEDs unless we've found the first contour.

Note: The OPC client is assumed to be running on 127.0.0.1. The next version will have a GUI where you can specify the location of your FadeCandy server.

LED Detection MVP

23 Aug 23:37
Compare
Choose a tag to compare
LED Detection MVP Pre-release
Pre-release

This version uses frame differencing to detect LEDs that are fired roughly once per frame.
Using OpenCV we detect a blob where the LED lights up. Sometimes this may cause reflections in the surrounding area, but we account for that by selecting only the brightest blob.
Use these keystrokes to trigger the following actions:
'spacebar' = Clear all detected points. The program unconditionally detects blobs and stores the centre of each one. In the future this will not be the case. Hit space before you start the calibration to clear unwanted points.
's' = Start the calibration. Triggers LEDs sequentially and starts detecting blobs.
'f' = Filter out points that are too close to each other. Gets rid of duplicate points.
'g' = Save the detected points as an SVG. You can then bring the SVG into Processing (Lightwork-Scraper).
'j' = Export points as JSON file, suitable for use with OPCs gl_server (LED layout simulator).

Note that the address of the FadeCandy is hardcoded and points to our local RaspberryPi server.