def start_camera(self): print "Starting camera motion decection." while True: self.im_name = strftime("%Y%m%d%H%M%S") + "_rpi_security.jpg" self.camera.capture(self.im_name) new_image = imread(self.im_name) if not hasattr(self, 'ref_image'): self.ref_image = new_image self.start_camera() if not hasattr(self, 'cur_image'): self.cur_image = new_image if self.change_monitor(): print 'trigger' self.message() #self.upload() # slow to send to dropbox... sleep(1.0 / self.fps) self.ref_image = self.cur_image delattr(self, "cur_image") # Remove old images remove_files(os.getcwd(), '.jpg', number_to_keep=10)
print 'loopin!' im_name = strftime("%Y%m%d%H%M%S") + "_rpi_security.jpg" camera.capture(im_name) new_image = imread(im_name) if 'reference_image' not in locals(): reference_image = new_image sleep(1.0 / fps) continue else: cur_image = new_image ref_total = np.float(np.sum(reference_image)) cur_total = np.float(np.sum(cur_image)) diff_percent = np.abs((ref_total - cur_total)) / ref_total * 100.0 print 'diff percent: ' + str(diff_percent) + '%' if diff_percent >= change_threshold: print 'triggered!' for messager in mlist: messager.send(im_name) remove_files(os.getcwd(), '.jpg', number_to_keep=10) reference_image = cur_image del cur_image sleep(1.0 / fps)