import psyco; psyco.full() def main(): import sys, Image, numarray i = Image.open(sys.argv[1]) print i.size oi = Image.new('L', i.size) x = [0,1],[1,2] getpixel = i.getpixel putpixel = oi.putpixel w, h = i.size h = range(h) for i in range(w): sys.stderr.write(".") q = x[i%2] for j in h: p = q[j%2] putpixel((i, j), getpixel((i, j))[p]) sys.stderr.write("\n") oi.save(sys.argv[2]) if __name__ == '__main__': main()