import mjpeg import sys import struct from PIL import _binary import numpy as np i8 = _binary.i8 o8 = _binary.o8 i16 = _binary.i16be i32 = _binary.i32be a = mjpeg.Jpeg("res/test2.jpg") # print a.component_count def flipblock(block): tmp = str(block) for i in range(0, len(block), 4): short, = struct.unpack_from("h", tmp, i+2) struct.pack_into("h", block, i+2, -short) for comp in range(a.component_count): xmax, ymax = a.getcomponentdimensions(comp) for y in range(ymax): for x in range((xmax+1)/2): block = a.getblock(x,y,comp) block_to_show = np.frombuffer(block, dtype=np.int16, count=-1, offset=0).reshape(8,8) print block_to_show block2 = a.getblock(xmax-1 - x, y, comp) flipblock(block) flipblock(block2) a.setblock(xmax-1-x, y, comp, block) a.setblock(x,y,comp,block2)