      Examples
      --------
      Loading from a video file:
  
      >>> loader = BackgroundIO('/path/to/video.mp4', 'load')
      >>> for filename, image in loader.load():
      >>>     <do processing>
  
      Loading faces with their sha1 hash:
  
 
</s> remove     >>> loader = BackgroundIO('/path/to/faces/folder', 'load', load_with_hash=True)
 </s> add     >>> loader = ImagesLoader('/path/to/faces/folder', load_with_hash=True) </s> remove     Saving out images:
 </s> add     def __init__(self, path, queue_size=8, load_with_hash=False, fast_count=True, skip_list=None):
        logger.debug("Initializing %s: (path: %s, queue_size: %s, load_with_hash: %s, "
                     "fast_count: %s)", self.__class__.__name__, path, queue_size,
                     load_with_hash, fast_count) </s> remove     >>> saver = BackgroundIO('/path/to/save/folder', 'save')
    >>> for filename, image in <image_iterator>:
    >>>     saver.save(filename, image)
    >>> saver.close()
    """
 </s> add         args = (load_with_hash, )
        super().__init__(path, queue_size=queue_size, args=args)
        self._skip_list = set() if skip_list is None else set(skip_list) </s> remove         The amount of images to hold in the internal buffer. Default: 16.
 </s> add         The amount of images to hold in the internal buffer. Default: 8.
    load_with_hash: bool, optional
        Set to ``True`` to return the sha1 hash of the image along with the image.
        Default: ``False``.
    fast_count: bool, optional
        When loading from video, the video needs to be parsed frame by frame to get an accurate
        count. This can be done quite quickly without guaranteed accuracy, or slower with
        guaranteed accuracy. Set to ``True`` to count quickly, or ``False`` to count slower
        but accurately. Default: ``True``.
    skip_list: list, optional
        Optional list of frame/image indices to not load. Any indices provided here will be skipped
        when reading images from the given location. Default: ``None``
    >>> loader = ImagesLoader('/path/to/video.mp4')
      Examples
      --------
      Loading from a video file:
  
    >>> loader = ImagesLoader('/path/to/video.mp4')
      >>> for filename, image in loader.load():
      >>>     <do processing>
  
      Loading faces with their sha1 hash:
  
keep keep keep keep replace keep keep keep keep keep
 scripts.extract - code optimizations

Limit queue sizes to reduce RAM usage
Rename lib.image.BackgroundIO to ImageIO
Create separate ImagesLoader and ImagesSaver classes
Load/Save images from centralized lib.image.ImageIO
scripts.extract documentation 
lib/image.py