From 29d861e10548e25339e24cfd2db1e3a9fc748e41 Mon Sep 17 00:00:00 2001 From: David Runge Date: Sat, 15 Feb 2014 01:32:28 +0100 Subject: Adding random241*.py files to subdirectory --- entropy_harvester/random241.py | 68 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 entropy_harvester/random241.py (limited to 'entropy_harvester/random241.py') diff --git a/entropy_harvester/random241.py b/entropy_harvester/random241.py new file mode 100755 index 0000000..f5268d5 --- /dev/null +++ b/entropy_harvester/random241.py @@ -0,0 +1,68 @@ +#!/usr/bin/python2 + +import cv +import time +import numpy as np +import logging +import random241arg as arg +import random241sensor as sensor +import random241osc as osc + +showStream = False +stop_key = 0 +capture = True +camNumber = 1 +time_delta = 60 * 60 / 2 +logging.basicConfig(filename='random241.log', + format='%(asctime)s %(message)s', + filemode='w', level=logging.INFO) +last_time = time.time() + +# Read parameters +params = arg.read_params() +# Define which cam to use, etc. +#cam = sensor.capture(params['-c'], showStream) + +# Get frame and size information from camera +cam = cv.CaptureFromCAM(camNumber) +frame = cv.QueryFrame(cam) +if frame is not None: + frame_size = cv.GetSize(frame) + logging.info('Grabbing random numbers from: %dx%dpx.', + frame_size[0], frame_size[1]) + + # Get matrix with values from frame + mat = cv.GetMat(frame) + frame_values = np.asarray(mat) + # Create grayscale image + gray_values = sensor.bgr2gray(frame_values) + + # Define the time to run the test + time_delta = time_delta + time.time() + + # Setup OSC + #osc.connect_to_server('beagleclone', 57120) + osc.connect_to_server('127.0.0.1', 57120) + + # Main loop for accessing the camera and calculating random numbers from it + #while True: + while time_delta > time.time(): +# last_time = time.time() + img = cv.QueryFrame(cam) + # Get a numpy array with rgb values + mat_from_frame = sensor.frame_to_mat(img) + gray_mat = sensor.bgr2gray(mat_from_frame) + randomness = sensor.harvest_entropy(gray_mat) + if randomness is not None: + delta = time.time() - last_time + last_time = time.time() + osc.send_msg(delta, randomness) + if showStream: + while stop_key != ord("q"): + cv.ShowImage("Americium 241", img) + key = cv.WaitKey(2) + + #time.sleep(5) + #random241sensor.set_capture(False) +else: + logging.error('Connect camera %d first!', camNumber) -- cgit v1.2.3-70-g09d2