Coder Social home page Coder Social logo

watchcam's Introduction

WatchCam

Version 1.0

Contour-based OpenCV security system. Ported from Python 2 to C++ for a 10x CPU usage improvement. This is my first serious C++ software ever. Very basic but reliable and had been in use for over a year for real-life security monitoring. First version used simple image diff threshold and was too oversensitive to changes in light and artifacts, new contour-detection size-trigger based algorithm was far superior. Image downsizing + greyscale + light gaussian blurring has removed practically all image artifact and false movement.

Has a simple arduino connection that makes a led illuminate or flash depending on the tracked object. You could use that as base for more advanced alerts like a siren, radio beeper, security drones or heat-seeking missiles or whatever.

Config file

Support for 4 cams for now Important variables for motion algorithm:

  • min_contour_size
  • binarize_threshold
  • blur_aperture
  • md_scale (will be dynamically calculated soon)

Requirements

  • OpenCV4
  • libserial
  • libconfig
  • PySerial (to be dropped)

To be added:

  • Adding rectangle select motion zone
  • Alert sound playing
  • ffmpeg HD recording
  • Windows support
  • HD picture dynamic scaling
  • C++ Arduino controller

watchcam's People

Watchers

frogmane avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.