Metadata-Version: 1.1
Name: ImageSource
Version: 1.0b2
Summary: Image sequence abstraction for OpenCV.
Home-page: https://github.com/smidm/imagesource
Author: Matěj Šmíd
Author-email: m@matejsmid.cz
License: The MIT License
Description: Image Sequence Abstraction for Python
        =====================================
        
        Video data can appear in different forms: bunch of files, a video file,
        a network stream etc. We provide an abstraction for ordered image
        sources that serve as an isolation from a specific source type.
        
        The interface is simple:
        
        .. code:: python
        
            import imagesource
        
            images = imagesource.VideoSource('tests/data/MOV02522.MPG')
            img100 = images.get_image(100)
            img101 = images.get_next_image()
            images.rewind()
            img000 = images.get_next_image()
            images.write_images('out/%03d.png', 100)
        
            images2 = imagesource.FilesSource('tests/data/frames/%03d.jpg')
            # same interface as above ...
        
        The basic sources are ``VideoSource`` and ``FilesSource`` for video
        files and sequences of image files respectively. The
        ``TimedVideoSource`` extracts frame timestamps from video files. The
        ``SynchronizedSource`` translates frame numbers using a table. This can
        be used for creating a synchronized set of sources.
        
        For more examples see ``tests/test.py``
        
        Installation
        ------------
        
        Install OpenCV 3.x with Python bindings and Numpy using a system package
        manager.
        
        ``$ pip install imagesource``
        
        The ``TimedVideoSource`` requires ``ffprobe`` command from the
        ``ffmpeg`` suite.
        
        Testing
        -------
        
        ::
        
            $ pip install nose
            $ nosetests
        
        Writing Extensions
        ------------------
        
        It is simple to write transparent image source wrappers that
        post-process image data from an underlying image source (e.g. background
        subtraction, radial distortion removal, ...).
        
        An example background subtracted image source:
        
        .. code:: python
        
            class BackgroundSubtractedSource(imagesource.ImageSource):
                def __init__(self, source):
                    self.source = source
                    self.bgs = cv2.createBackgroundSubtractorMOG2(...)
        
                    def get_image(self, frame):
                        img = self.source.get_image(frame)
                        return self.bgs.apply(img)
        
                    def get_next_image(self):
                        img = self.source.get_next_image()
                        return self.bgs.apply(img)
        
                    def rewind(self):
                        self.source.rewind()
        
Keywords: image sequence video
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Image Recognition
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
