all repos — mgba @ 2f5fb2265992581712525dad2b47fcad0a5c0372

mGBA Game Boy Advance Emulator

src/platform/python/cinema/__init__.py (view raw)

 1from PIL.ImageChops import difference
 2from PIL.ImageOps import autocontrast
 3from PIL.Image import open as PIOpen
 4
 5
 6class VideoFrame(object):
 7    def __init__(self, pil_image):
 8        self.image = pil_image.convert('RGB')
 9
10    @staticmethod
11    def diff(a, b):
12        diff = difference(a.image, b.image)
13        diff_normalized = autocontrast(diff)
14        return (VideoFrame(diff), VideoFrame(diff_normalized))
15
16    @staticmethod
17    def load(path):
18        with open(path, 'rb') as f:
19            image = PIOpen(f)
20            image.load()
21            return VideoFrame(image)
22
23    def save(self, path):
24        return self.image.save(path)