If you’re ever interested in revisiting this click project, you could check out DeepLabCut [0]. A blogpost highlighted a toy example of training a DLC model to recognize clock arms [1], which may or may not be more consistent than your Canny approach :)
[0] https://github.com/DeepLabCut/DeepLabCut
[1] https://guillermohidalgogadea.com/openlabnotebook/training-y...
It might be cool adapt for a mobile office setup where you’re only present in one location for a few days but still want some automated creature comforts.
> Dynamicland is a nonprofit research lab creating a humane dynamic medium.
> What that means is a way for real people in the real world to explore ideas together, not just with words and pictures, but with computation.
They're doing stuff like that.
Offer from some "big" business with digital / connected gauges and motorized valves were too much for customer. He wanted much, much cheaper.
There were special modems, which use pipe as data line (think something like 150 baud shared between all stations).
So, solution implemented by my friend was like:
1) Electric motor with gearbox to motorize valves, it was cheap, as standard electric motors are cheap and customer has its own mechanical shop, so everything was cobbled in-house from standard of-the-shelf components.
2) Modem for each station (it was inevitable)
3) Laptop with B/W web cam on each station.
4) Software which can read gauges from webcam shots.
5) Software which transmit values from all stations to central station and allows to manipulate valves from central station (no automation here, 24/7 human operators)
Laptops and cameras were not cheap from personal point of view, but like x100 cheaper than special gauges and valves offered by gas-pipe equipment manufacturer.
It was not called "computer vision" at this time.
(Although I don't know how it would compare to the latest generalist vision models... Clocks are pretty well labeled in photographs online, one would expect.)
Years later, I get an email from a stranger in Korea, asking me how to run my program. Why would he want to use my silly program? Turns out you can adapt the code to read analog pressure gauges which is really useful for chemical plants. Goes to show that there's often a use for most things.
[1] https://github.com/jinayjain/timekeeper