imgcmp
Drivers

image comparing driver More...

image comparing driver

The imgcmp driver compares current image frame with previous one in order to detect any changes on it. Frames that not differ will have the same timestamp.

Compile-time dependencies

- none

Provides

- camera (key "output" - regular image output)
- dio (to signal change detection)
- (optional) camera (key "diff" - differences map)

Any command sent to provided dio interface forces positive compare result.

Requires

- camera
- (optionally) dio (to signal change detection by sending dio commands)

Configuration requests

- none

Configuration file options

- see properties section

Properties

- skip_lines (integer)
  - Default: 0
  - During computations, skip n lines from the top (as usually there's nothing interesting in first few lines)
- sleep_nsec (integer)
  - Default: 10000
  - timespec value for additional nanosleep()
- max_lum_dist (integer)
  - Default: 0
  - Allowed values: 0 - 255
  - Maximal luminance distance between two pixels in old and new images; if luminance distance computed for two pixels (old and new) is greater than max_lum_dist, these pixels differ.
- max_diff_pixels (double)
  - Default: 0.0
  - Allowed value: 0.0 - 1.0
  - Maximal degree to which two images (old and new) differs (see above) to consider that they are actually different.
- idle_publish_interval (double)
  - Default: 0.5
  - Image publish interval (in seconds) whenever differences were not detected.
- keep_buffer (integer)
  - Default: 1
  - If set to non-zero, buffer with previous image is kept until change is detected. Otherwise, only two last frames will be compared. Set this property to zero for noisy camera image and bad light.

Example

    driver
    (
      name "imgcmp"
      requires ["camera:1"]
      provides ["output:::camera:0" "dio:0"]
      skip_lines 16
      max_lum_dist 128
      max_diff_pixels 0.01
      keep_buffer 0
    )

Author
  Paul Osmialowski

Last updated 12 September 2005 21:38:45