Guest User

Untitled

a guest
Dec 17th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. var cv = require('./node_modules/opencv/lib/opencv');
  2. var sleep = require('sleep');
  3.  
  4. var camera = new cv.VideoCapture(0); //open camera
  5.  
  6. //set the video size to 512x288
  7. camera.setWidth(512);
  8. camera.setHeight(288);
  9. var window = new cv.NamedWindow('Camera');
  10. var firstFrame, frameDelta, gray, thresh;
  11.  
  12. sleep.sleep(3);
  13. camera.read(function(err, frame){
  14. firstFrame = frame;
  15. //convert to grayscale
  16. firstFrame.cvtColor('CV_BGR2GRAY');
  17. firstFrame.gaussianBlur([21, 21]);
  18. });
  19.  
  20. interval = setInterval(function() {
  21. camera.read(function(err, frame) {
  22.  
  23. gray = frame.copy();
  24. gray.cvtColor('CV_BGR2GRAY');
  25. gray.gaussianBlur([21, 21]);
  26.  
  27. frameDelta = new cv.Matrix();
  28. //compute difference between first frame and current frame
  29. frameDelta.absDiff(firstFrame, gray);
  30. thresh = frameDelta.threshold(25,255);
  31. thresh.dilate(2);
  32.  
  33. var cnts = thresh.findContours();
  34.  
  35. for(i = 0; i < cnts.size(); i++) {
  36.  
  37. if(cnts.area(i) < 500) {
  38. continue;
  39. }
  40.  
  41. frame.putText("Motion Detected", 10, 20, cv.FONT_HERSHEY_SIMPLEX, [0, 0, 255], 0.75, 2);
  42. }
  43.  
  44. window.show(frame);
  45. keyPressed = window.blockingWaitKey(0, 50);
  46.  
  47. if(keyPressed == 27) {
  48. //exit if ESC is pressed
  49. clearInterval(interval);
  50. }
  51.  
  52. });
  53. }, 20);
Add Comment
Please, Sign In to add comment