def display(): img_gen = shuffled_batch_iter(64) arr = np.empty((1, 16 * 8, 16 * 8, 1)) def img_loop(frame, id): ar = next(img_gen) ar1 = [] for i in range(8): ar1.append(np.concatenate([ar[x] for x in range(i * 8, i * 8 + 8)], axis=0)) ar2 = np.concatenate(ar1, axis=1) arr[:] = ar2 return arr v = VideoHandlerThread(video_source=arr, callbacks=display_callbacks + [img_loop]) s = SubscriberWindows(video_sources=[arr], window_names=[str(x) for x in range(1)]) v.start() s.loop() v.join()
def test_multi_cams_multi_source(self): t1 = w.VideoHandlerThread(0) t2 = w.VideoHandlerThread(1) t1.start() t2.start() SubscriberWindows(window_names=['cammy', 'cammy2'], video_sources=[0, 1]).loop() t1.join() t1.join()
def display( self, callbacks=() # type: List[Callable[[List[np.ndarray]], Any]] ): """Default display operation. For multiple video sources, please use something outside of this class. :param callbacks: List of callbacks to be run on frames before displaying to the screen. :type callbacks: List[Callable[[List[np.ndarray]], Any]] """ self.start() SubscriberWindows(video_sources=[self.cam_id], callbacks=callbacks).loop() self.join()
def test_multi_cams_one_source(self): def cam_handler(frame, cam_id): SubscriberWindows.set_global_frame_dict(cam_id, frame, frame) t = w.VideoHandlerThread(0, [cam_handler], request_size=(1280, 720), high_speed=True, fps_limit=240) t.start() SubscriberWindows(window_names=['cammy', 'cammy2'], video_sources=[str(0)]).loop() t.join()
def _display_windows(self): s = SubscriberWindows( video_sources=self.display_list, window_names=[str(x) for x in range(len(self.display_list))]) return s
""" npFrame = np.asarray(frame, dtype=np.float32) frames = zoom_tensor_to_image_list( self.spatial_color_2d( zoom.from_image(npFrame, 3, [257, 144], m.e**.5))) frame = frames[0] for f in range(1, len(frames)): frame = np.concatenate((frame, frames[f]), axis=1) return [frame] if __name__ == '__main__': """MOVE TO UNIT TESTS ONCE IMPLEMENTATION IS FINISHED.""" retina = VisionFilter() t = w.VideoHandlerThread(0, [retina.pyramid_callback] + w.display_callbacks, request_size=(1280, 720), high_speed=True, fps_limit=240) t.start() SubscriberWindows(window_names=["scale " + str(i) for i in range(6)] + ['1'], video_sources=[0]).loop() w.CamCtrl.stop_cam(0) t.join()
def cam_handler(frame, cam_id): SubscriberWindows.set_global_frame_dict(cam_id, frame, frame)