| 
						 | 
						- import readGridEyeData
 - 
 - import sys
 - import numpy as np
 - import cv2
 - 
 - SIZE = 8
 - visible_size = 128
 - distanceBetweenSensors_w = 2.6 #cm
 - distanceBetweenSensors_h = 2.6 #cm
 - distance2Object = 60.0 #cm
 - OFFSET = ((0, 0), ())
 - 
 - TEMP_SCALE = 20
 - RED = (0, 0, 255)
 - GREEN = (0, 255, 0)
 - BLUE = (255, 0, 0)
 - 
 - background = readGridEyeData.GridEyeData(sys.argv[1])
 - 
 - background_frames = [np.zeros((SIZE,SIZE)), np.zeros((SIZE,SIZE)),
 -                      np.zeros((SIZE,SIZE)), np.zeros((SIZE,SIZE))]
 - cnt = 1
 - Horizon_array = np.array([[x for x in range(8)] for _ in range(8)])
 - Vertical_array = np.array([[x for _ in range(8)] for x in range(8)])
 - 
 - # Gets background of each pixel.
 - while background.readFrame():
 -   frames = background.frames
 -   for i in range(4):
 -     background_frames[i] += np.array(frames[i].data)
 -   cnt += 1
 -   
 - for i in range(4):
 -   background_frames[i]/=cnt
 - 
 - # Reads data from object frames.
 - objects = readGridEyeData.GridEyeData(sys.argv[2])
 - 
 - while objects.readFrame():
 -   frames = objects.frames
 -   imgs = []
 -   heat_points = []
 - 
 -   # Subtracts background and scale the value.
 -   for i in range(4):
 -     frame = np.array(frames[i].data) - background_frames[i]
 -     frame[frame < 0] = 0.0
 -     frame *= TEMP_SCALE
 -     frame[frame > 255] = 255
 -     imgs.append(frame.astype(np.uint8))
 -     x = int(sum(sum(frame * Horizon_array)) / sum(sum(frame)) / (SIZE - 1) *
 -         (visible_size - 1))
 -     y = int(sum(sum(frame * Vertical_array)) / sum(sum(frame)) / (SIZE - 1) *
 -         (visible_size - 1))
 -     heat_points.append((x,y))
 -     print (x, y)
 -   all_img = np.concatenate((np.concatenate((imgs[0], imgs[1]), axis = 1),
 -                             np.concatenate((imgs[2], imgs[3]), axis = 1)),
 -                            axis = 0)
 -   all_img = cv2.cvtColor(all_img, cv2.COLOR_GRAY2RGB)
 -   all_img = cv2.resize(all_img, (visible_size*2, visible_size*2),
 -       interpolation = cv2.INTER_NEAREST)
 -   cv2.circle(all_img, heat_points[0], 5, RED, -1)
 -   cv2.circle(all_img, (heat_points[1][0]+visible_size, heat_points[1][1]), 5, RED, -1)
 -   
 -   cv2.imshow('sample', all_img)
 - 
 - 
 -   while cv2.getWindowProperty('sample', 0) >= 0:
 -     key = cv2.waitKey(50)
 -     if key >= 0:
 -       break
 
 
  |