6

我在谷歌上搜索过,但找不到任何东西。

我想创建一个可以导入图像、更改像素顺序和保存输出图像的 Python 脚本。

我经常使用 Python,但只使用内置库。因此,如果我必须使用新命令,请尽可能多地描述它。

4

2 回答 2

14
import sys
import random
from PIL import Image

BLOCKLEN = 64 # Adjust and be careful here.

img = Image.open(sys.argv[1])
width, height = img.size

xblock = width / BLOCKLEN
yblock = height / BLOCKLEN
blockmap = [(xb*BLOCKLEN, yb*BLOCKLEN, (xb+1)*BLOCKLEN, (yb+1)*BLOCKLEN)
        for xb in xrange(xblock) for yb in xrange(yblock)]

shuffle = list(blockmap)
random.shuffle(shuffle)

result = Image.new(img.mode, (width, height))
for box, sbox in zip(blockmap, shuffle):
    c = img.crop(sbox)
    result.paste(c, box)
result.save(sys.argv[2])

示例输入, BLOCKLEN = 1, BLOCKLEN = 64, BLOCKLEN = 128:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

于 2013-01-29T23:27:42.587 回答
-1

您应该查找 PIL 库链接

于 2013-01-29T22:50:13.590 回答