예제 #1
0
def main():
    options, args = parseOptions()

    tile_x = options.tile_x
    tile_y = options.tile_y
    frame = options.frame
    output = options.output
    filemask = options.filemask

    tile_files = []
    tiles_lost = []
    for i in xrange(0, (tile_x * tile_y)):
        filepath = filemask % (i, frame)
        if not os.path.exists(filepath):
            tiles_lost += [filepath]
            continue
        tile_files += [filepath]

    if len(tile_files) != (tile_x * tile_y):
        raise Exception("Tile not found: %s" % tiles_lost)

    #TODO: merge metadata from tiles

    spec = ImageBuf(str(tile_files[0])).spec()
    spec_e = ImageSpec(spec.full_width, spec.full_height, spec.nchannels,
                       spec.format)

    extended = ImageBuf(spec_e)
    for filename in tile_files:
        img = ImageBuf(filename)
        ImageBufAlgo.paste(extended,
                           img.xbegin,
                           img.ybegin,
                           img.zbegin,
                           0,
                           img,
                           nthreads=4)
    extended.write(output)
예제 #2
0
    write(b, "flat.exr")

    # crop
    b = ImageBuf()
    ImageBufAlgo.crop(b, grid, oiio.ROI(50, 150, 200, 600))
    write(b, "crop.tif")

    # cut
    b = ImageBuf()
    ImageBufAlgo.cut(b, grid, oiio.ROI(50, 150, 200, 600))
    write(b, "cut.tif")

    # paste
    b = ImageBuf()
    b.copy(checker)
    ImageBufAlgo.paste(b, 150, 75, 0, 0, grid)
    write(b, "pasted.tif")

    # rotate90
    b = ImageBuf()
    ImageBufAlgo.rotate90(b, ImageBuf("../oiiotool/image.tif"))
    write(b, "rotate90.tif")

    # rotate180
    b = ImageBuf()
    ImageBufAlgo.rotate180(b, ImageBuf("../oiiotool/image.tif"))
    write(b, "rotate180.tif")

    # rotate270
    b = ImageBuf()
    ImageBufAlgo.rotate270(b, ImageBuf("../oiiotool/image.tif"))
예제 #3
0
    write(b, "flat.exr")

    # crop
    b = ImageBuf()
    ImageBufAlgo.crop(b, grid, oiio.ROI(50, 150, 200, 600))
    write(b, "crop.tif")

    # cut
    b = ImageBuf()
    ImageBufAlgo.cut(b, grid, oiio.ROI(50, 150, 200, 600))
    write(b, "cut.tif")

    # paste
    b = ImageBuf()
    b.copy(checker)
    ImageBufAlgo.paste(b, 150, 75, 0, 0, grid)
    write(b, "pasted.tif")

    # rotate90
    b = ImageBuf()
    ImageBufAlgo.rotate90(b, ImageBuf("../oiiotool/image.tif"))
    write(b, "rotate90.tif")

    # rotate180
    b = ImageBuf()
    ImageBufAlgo.rotate180(b, ImageBuf("../oiiotool/image.tif"))
    write(b, "rotate180.tif")

    # rotate270
    b = ImageBuf()
    ImageBufAlgo.rotate270(b, ImageBuf("../oiiotool/image.tif"))