import copy import logging import os import sys if __name__ == '__main__': sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..')) from telemetry.internal.image_processing import cv_util from telemetry.internal.image_processing import frame_generator as \ frame_generator_module from telemetry.internal.image_processing import video_file_frame_generator from telemetry.internal.util import external_modules np = external_modules.ImportRequiredModule('numpy') cv2 = external_modules.ImportRequiredModule('cv2') class ScreenFinder(object): """Finds and extracts device screens from video. Sample Usage: sf = ScreenFinder(sys.argv[1]) while sf.HasNext(): ret, screen = sf.GetNext() Attributes: _lost_corners: Each index represents whether or not we lost track of that corner on the previous frame. Ordered by [top-right, top-left, bottom-left, bottom-right]
# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import os import unittest from telemetry import decorators from telemetry.core import util from telemetry.internal.image_processing import frame_generator from telemetry.internal.util import external_modules try: cv2 = external_modules.ImportRequiredModule('cv2') except (ImportError, NotImplementedError): pass else: class VideoFileFrameGeneratorTest(unittest.TestCase): def __init__(self, *args, **kwargs): super(VideoFileFrameGeneratorTest, self).__init__(*args, **kwargs) # Import modules with dependencies that may not be preset in test setup so # that importing this unit test doesn't cause the test runner to raise an # exception. from telemetry.internal.image_processing import video_file_frame_generator self.VideoFileFrameGenerator = \ video_file_frame_generator.VideoFileFrameGenerator # https://github.com/catapult-project/catapult/issues/3510 @decorators.Disabled('all') @decorators.Isolated