camera-sabotage-detector
Version:
A Node.js native addon for detecting various types of camera sabotage including defocus, blackout, covered camera, flash, and scene tampering
76 lines (55 loc) • 2.36 kB
Markdown
A Node.js module for detecting various types of camera sabotage and anomalies in video frames.
- **Defocus Detection**: Identifies when the camera is out of focus or has been smeared
- **Blackout Detection**: Detects when the camera has been covered or is experiencing low light conditions
- **Flash Detection**: Identifies sudden bright flashes that might indicate tampering
- **Scene Change Detection**: Monitors for significant changes between consecutive frames
- **Smear Detection**: Detects when the camera lens has been smeared or covered with a semi-transparent substance
```bash
npm install camera-sabotage-detector
```
```javascript
const { detectSabotage, detectSceneChange } = require('camera-sabotage-detector');
// Detect various types of sabotage in a single frame
const result = await detectSabotage('path/to/image.jpg');
// or
const result = await detectSabotage(imageBuffer);
console.log(result);
// {
// defocusScore: 0-100, // Higher score means more defocus
// blackoutScore: 0-100, // Higher score means more blackout
// flashScore: 0-100, // Higher score means more flash
// smearScore: 0-100 // Higher score means more severe smears
// }
// Detect scene changes between consecutive frames
const sceneChangeResult = await detectSceneChange('path/to/current.jpg', 'path/to/previous.jpg');
// or
const sceneChangeResult = await detectSceneChange(currentBuffer, previousBuffer);
console.log(sceneChangeResult);
// {
// sceneChangeScore: 0-100 // Higher score means more change
// }
// You can also use .then() syntax
detectSabotage(imageBuffer)
.then((result) => console.log(result))
.catch((error) => console.error(error));
```
- **defocusScore**: Higher scores (closer to 100) indicate more severe defocus
- **blackoutScore**: Higher scores (closer to 100) indicate more severe blackout
- **flashScore**: Higher scores (closer to 100) indicate more severe flash
- **sceneChangeScore**: Higher scores (closer to 100) indicate more significant scene changes
- **smearScore**: Higher scores (closer to 100) indicate more severe smears or obstructions on the camera lens
## Requirements
- Node.js 14 or higher
- OpenCV 4.x
## Building from Source
```bash
npm install
npm run rebuild
```
## License
MIT