https://github.com/cjpatton/salamander
Salamander is an image processing application based on OpenCV for filtering field cameras. These programs detect when targets appear and filters the video feed as long as they remain in frame.
https://github.com/cjpatton/salamander
Last synced: 12 months ago
JSON representation
Salamander is an image processing application based on OpenCV for filtering field cameras. These programs detect when targets appear and filters the video feed as long as they remain in frame.
- Host: GitHub
- URL: https://github.com/cjpatton/salamander
- Owner: cjpatton
- License: gpl-3.0
- Created: 2013-02-13T22:21:04.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-04-23T16:17:03.000Z (about 13 years ago)
- Last Synced: 2025-07-15T09:35:42.765Z (12 months ago)
- Language: C++
- Homepage:
- Size: 10.3 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: COPYING
Awesome Lists containing this project
README
Christopher Patton
John Muir Institute for the Environment
University of California, Davis
This directory contains the source code for the Salamander image processing
project. The purpose of this code is to detect and track a target in a raw
video stream. This applies to surveillance footage of animals in their natural
habitats, eg. mice, rats, or salamanders.
Files
-----
segment.cpp -- current top level program.
detect.cpp -- working on more sophisticated detetion scheme
filter.cpp -- apply filters to a series of images
binary_threshold.cpp -- binthresh
binary_morphology.cpp -- binmorph
CMakeLists.txt -- for cmake
salamander.{cpp,h} -- library implementation of the image processing
{blobs,chunk,files}.{cpp,h} -- various data structures for detection and video
segmenting
ex -- some example footage for trying these programs
Installation
------------
This code is written in C++ for OpenCV (opencv.org).
$ mkdir build && cd build
$ cmake ../
$ make
$ sudo make install
This will produce a shared library called "libsalamander.so" as well as
four executable programs. The purpose of these programs is described in detail
in the code:
binthresh,
binmorph,
segment,
filter, and
detect.
Usage
-----
All five programs take a list of JPEG files corresponding to a video stream
on standard input. binmoroph and binthresh apply image processing filters
and output the result.
$ ls *.jpg > raw
$ filter -t 20 60 -m 1 10 -s 2 < raw
The first two arguments refer to the erosion and dilation factors (binary
morphology) respectively. The second two are optional and specify the range for
the binary threshold. The other programs can be run similarly:
$ binthresh 40 60 < raw
$ binmorph 2 20 < raw