MYCSS

Показ дописів із міткою OpenCV. Показати всі дописи
Показ дописів із міткою OpenCV. Показати всі дописи

2026-10-03

Project Seven Segment Monitor - visually monitoring the refrigerator’s power consumption

🛎️ A hobby involving collecting provisions includes monitoring passive Bluetooth temperature, analyzing sound with PSD and FFT tools, and now adding visual monitoring through a webcam focused on seven-segment indicators.

Why 

The previous project for detecting the on/off state of the kitchen refrigerator by sound analyses has been stopped. The built-in microphone’s sound quality was so poor and noisy that I decided to abandon it and switch to a more reliable method: visually monitoring the refrigerator’s power consumption by reading the amperage, with 00.0A indicating OFF and 00.7A or 00.8A indicating ON.

How

📼 Seven Segment Monitor is a computer vision and IoT tool that continuously captures images from a USB or V4L2 camera, or static frames, of seven-segment displays. It uses OpenCV to extract and recognize numeric readouts, then stores the parsed readings in an SQLite database with automated retention and cleanup.
Example of a development result
A development laptop with sunglasses used as a pre-filter for the webcam to reduce lighting from seven-segment LED indicators on a surge voltage device.

Features

  • Multi-threaded Architecture:
    • Camera Producer: Captures frames asynchronously from a V4L2/USB camera or loads them from disk for testing or simulation.
    • Vision Worker: Handles automatic rotation correction, color and brightness filtering, shear de-skewing, digit box slicing, and segment state recognition.
    • Database Writer Worker: Batches writes and saves timestamped readings and alert/state statuses to SQLite.
    • Database Cleanup Worker: Purges records older than a configurable retention period automatically.
  • Multiple Color & Mask Extraction Algorithms:
    • WITHOUT_GREEN: Difference-based channel masking for red LED displays.
    • RED: Dual-band HSV color masking.
    • RED_ADAPTIVE: Adaptive thresholding based on the green-to-red pixel ratio.
  • Display Layout Customization:
    • Configurable rows and digits per row (NUM_DIGITS_ROWS, NUM_DIGITS_PER_ROW).
    • Shear angle compensation for slanted italicized digits (DIGIT_SHEAR_ANGLE).
    • Digit density and segment activation threshold tuning.
  • Deployment Ready:
    • Run directly via Python CLI (sevensegmentmonitor).
    • Run containerized via headless Docker Compose with optional Grafana integration.

Repositories: 

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready

Популярні публікації