当前位置: 首页>>代码示例>>Python>>正文


Python ImageSequence.Iterator方法代码示例

本文整理汇总了Python中PIL.ImageSequence.Iterator方法的典型用法代码示例。如果您正苦于以下问题:Python ImageSequence.Iterator方法的具体用法?Python ImageSequence.Iterator怎么用?Python ImageSequence.Iterator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PIL.ImageSequence的用法示例。


在下文中一共展示了ImageSequence.Iterator方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def __init__(self, path, size=(226, 226), transform=lambda x: x):
    self.transform = transform
    with Image.open(path + ".tif") as stack:
      frames = []
      for img in ImageSequence.Iterator(stack):
        frame = torch.tensor(np.array(img).astype(float))
        frames.append(frame.unsqueeze(0))
      self.raw_image = torch.cat(frames, dim=0)
    rois = read_roi_zip(path + ".roi.zip")
    self.rois = [
      torch.tensor(zip(*polygon(
        roi[1]["x"], roi[1]["y"],
        shape=(self.raw_image.size(1),
               self.raw_image.size(2))
      )), dtype=torch.long)
      for roi in rois
    ] 
开发者ID:mjendrusch,项目名称:torchsupport,代码行数:19,代码来源:roi_image.py

示例2: test_sanity

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def test_sanity(self):

        test_file = self.tempfile("temp.im")

        im = hopper("RGB")
        im.save(test_file)

        seq = ImageSequence.Iterator(im)

        index = 0
        for frame in seq:
            self.assert_image_equal(im, frame)
            self.assertEqual(im.tell(), index)
            index += 1

        self.assertEqual(index, 1)

        self.assertRaises(AttributeError, ImageSequence.Iterator, 0) 
开发者ID:holzschu,项目名称:python3_ios,代码行数:20,代码来源:test_imagesequence.py

示例3: __init__

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def __init__(self, gifpath, master, widget, loop = False):
                from PIL import Image, ImageTk, ImageSequence

                self.master = master
                self.widget = widget
                self.loop = loop
                self.cancelid = None
                self.flagstop = False
                self.index = 0
                self.frames = []

                img = Image.open(gifpath)
                size = img.size
                for frame in ImageSequence.Iterator(img):
                        static_img = ImageTk.PhotoImage(frame.convert('RGBA'))
                        try:
                                static_img.delay = int(frame.info['duration'])
                        except KeyError:
                                static_img.delay = 100
                        self.frames.append(static_img)

                self.widget.configure(width = size[0], height = size[1])
                self.initialize() 
开发者ID:SystemRage,项目名称:py-kms,代码行数:25,代码来源:pykms_GuiMisc.py

示例4: ready_gif

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def ready_gif(gif, preview=False):
  from PIL import ImageSequence
  #from multiprocessing import Pool
  imgs = []
  fm = ''
  for l in open('/proc/meminfo'):
    if l.startswith('MemFree:'):
      fm = int(l.split()[1])
      break
  frame_limit = fm // msize_kb
  for img in ImageSequence.Iterator(gif):
    imgs.append(_ready_gif(img))#.copy())
    if preview:
      preview = False
      show_img(imgs[0][0])
    if len(imgs) >= frame_limit:
      if _verbose:
        #print('This file is too big to play. Limited to play only %d frames in total %d frames.' % (frame_limit, gif.n_frames))
        print('This file is too big to play. Limited to play only %d frames.' % frame_limit )
      break
  #with Pool(4) as p:
    #imgs=list(p.map(_ready_gif, imgs))
  return imgs 
开发者ID:chidea,项目名称:FBpyGIF,代码行数:25,代码来源:fb.py

示例5: produce

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def produce(txt,img,ver=5,err_crt = qrcode.constants.ERROR_CORRECT_H,bri = 1.0, cont = 1.0,\
        colourful = False, rgba = (0,0,0,255),pixelate = False):
    """Produce QR code

    :txt: QR text
    :img: Image path / Image object
    :ver: QR version
    :err_crt: QR error correct
    :bri: Brightness enhance
    :cont: Contrast enhance
    :colourful: If colourful mode
    :rgba: color to replace black
    :pixelate: pixelate
    :returns: list of produced image

    """
    if type(img) is Image.Image:
        pass
    elif type(img) is str:
        img = Image.open(img)
    else:
        return []
    frames = [produce_impl(txt,frame.copy(),ver,err_crt,bri,cont,colourful,rgba,pixelate) for frame in ImageSequence.Iterator(img)]
    return frames 
开发者ID:chinuno-usami,项目名称:CuteR,代码行数:26,代码来源:CuteR.py

示例6: make_beautiful_gif

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def make_beautiful_gif(self, template: Image, avatar: Image) -> BytesIO:
        gif_list = [frame.copy() for frame in ImageSequence.Iterator(avatar)]
        img_list = []
        num = 0
        temp = None
        for frame in gif_list:
            template = template.convert("RGBA")
            frame = frame.convert("RGBA")
            # frame = frame.rotate(-30, expand=True)
            # frame = frame.resize((60, 60), Image.ANTIALIAS)
            template.paste(frame, (370, 45), frame)
            template.paste(frame, (370, 330), frame)
            # temp2.thumbnail((320, 320), Image.ANTIALIAS)
            img_list.append(template)
            num += 1
            temp = BytesIO()
            template.save(
                temp, format="GIF", save_all=True, append_images=img_list, duration=0, loop=0
            )
            temp.name = "beautiful.gif"
            if sys.getsizeof(temp) < 8000000 and sys.getsizeof(temp) > 7000000:
                break
        return temp 
开发者ID:TrustyJAID,项目名称:Trusty-cogs,代码行数:25,代码来源:imagemaker.py

示例7: make_wheeze_gif

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def make_wheeze_gif(self, template: Image, avatar: Image) -> BytesIO:
        gif_list = [frame.copy() for frame in ImageSequence.Iterator(avatar)]
        img_list = []
        num = 0
        temp = None
        for frame in gif_list:
            template = template.convert("RGBA")
            frame = frame.convert("RGBA")
            template.paste(frame, (60, 470), frame)
            img_list.append(template)
            num += 1
            temp = BytesIO()
            template.save(
                temp, format="GIF", save_all=True, append_images=img_list, duration=0, loop=0
            )
            temp.name = "beautiful.gif"
            if sys.getsizeof(temp) < 8000000 and sys.getsizeof(temp) > 7000000:
                break
        return temp 
开发者ID:TrustyJAID,项目名称:Trusty-cogs,代码行数:21,代码来源:imagemaker.py

示例8: _loadGIFSequence

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def _loadGIFSequence(self, imagePath):
        img = Image.open(imagePath)
        if any(self._offset):
            ox, oy = self._offset
        elif self.scale_to:
            ox, oy = 0, 0
        else:
            ox = max(0, (self.layout.width - img.size[0]) // 2)
            oy = max(0, (self.layout.height - img.size[1]) // 2)

        return [self._getBufferFromImage(frame, ox, oy)
                for frame in ImageSequence.Iterator(img)] 
开发者ID:ManiacalLabs,项目名称:BiblioPixelAnimations,代码行数:14,代码来源:ImageAnim.py

示例9: animated_gif_to_colorlists

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def animated_gif_to_colorlists(image, container=list):
    """
    Given an animated GIF, return a list with a colorlist for each frame.
    """
    deprecated.deprecated('util.gif.animated_gif_to_colorlists')

    from PIL import ImageSequence

    it = ImageSequence.Iterator(image)
    return [image_to_colorlist(i, container) for i in it] 
开发者ID:ManiacalLabs,项目名称:BiblioPixel,代码行数:12,代码来源:old_gif.py

示例10: test_iterator

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def test_iterator(self):
        im = Image.open('Tests/images/multipage.tiff')
        i = ImageSequence.Iterator(im)
        for index in range(0, im.n_frames):
            self.assertEqual(i[index], next(i))
        self.assertRaises(IndexError, lambda: i[index+1])
        self.assertRaises(StopIteration, next, i) 
开发者ID:holzschu,项目名称:python3_ios,代码行数:9,代码来源:test_imagesequence.py

示例11: _test_multipage_tiff

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def _test_multipage_tiff(self):
        im = Image.open('Tests/images/multipage.tiff')
        for index, frame in enumerate(ImageSequence.Iterator(im)):
            frame.load()
            self.assertEqual(index, im.tell())
            frame.convert('RGB') 
开发者ID:holzschu,项目名称:python3_ios,代码行数:8,代码来源:test_imagesequence.py

示例12: test_consecutive

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def test_consecutive(self):
        im = Image.open('Tests/images/multipage.tiff')
        firstFrame = None
        for frame in ImageSequence.Iterator(im):
            if firstFrame is None:
                firstFrame = frame.copy()
        for frame in ImageSequence.Iterator(im):
            self.assert_image_equal(frame, firstFrame)
            break 
开发者ID:holzschu,项目名称:python3_ios,代码行数:11,代码来源:test_imagesequence.py

示例13: test_nonstack_dos

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def test_nonstack_dos(self):
        im = Image.open(TEST_FILE)
        for i, frame in enumerate(ImageSequence.Iterator(im)):
            if i > 1:
                self.fail("Non-stack DOS file test failed") 
开发者ID:holzschu,项目名称:python3_ios,代码行数:7,代码来源:test_file_spider.py

示例14: legofy_gif

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def legofy_gif(base_image, brick_image, output_path, size, palette_mode, dither):
    '''Alternative function that legofies animated gifs, makes use of images2gif - uses numpy!'''
    im = base_image

    # Read original image duration
    original_duration = im.info['duration']

    # Split image into single frames
    frames = [frame.copy() for frame in ImageSequence.Iterator(im)]

    # Create container for converted images
    frames_converted = []

    print("Number of frames to convert: " + str(len(frames)))

    # Iterate through single frames
    for i, frame in enumerate(frames, 1):
        print("Converting frame number " + str(i))

        new_size = get_new_size(frame, brick_image, size)
        frame.thumbnail(new_size, Image.ANTIALIAS)
        if palette_mode:
            palette = get_lego_palette(palette_mode)
            frame = apply_thumbnail_effects(frame, palette, dither)
        new_frame = make_lego_image(frame, brick_image)
        frames_converted.append(new_frame)

    # Make use of images to gif function
    images2gif.writeGif(output_path, frames_converted, duration=original_duration/1000.0, dither=0, subRectangles=False) 
开发者ID:JuanPotato,项目名称:Legofy,代码行数:31,代码来源:__init__.py

示例15: set_source_path

# 需要导入模块: from PIL import ImageSequence [as 别名]
# 或者: from PIL.ImageSequence import Iterator [as 别名]
def set_source_path(self, path):
        """Set this image source to a new path."""
        image = PILImage.open(os.path.expandvars(path))
        frames = [frame.copy() for frame in ImageSequence.Iterator(image)]
        for frame in frames:
            frame.thumbnail((self.max_x, self.max_y), PILImage.ANTIALIAS)
        self.frames = [frame.convert('RGB') for frame in frames]
        self._frame_delta = 1 
开发者ID:partofthething,项目名称:infopanel,代码行数:10,代码来源:sprites.py


注:本文中的PIL.ImageSequence.Iterator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。