从黑色100x100 JPG开始,并以概率为白色



假设我有100x100黑色JPEG。每个像素都有1%的机会将每次迭代变白,我执行30个循环。

如果生成更好,我认为也许是某种100x100阵列,每个值都在黑色(0(和一些变白(1(,然后将此数组变成印刷在控制台上或保存的图像(对于每次迭代(

,如果可能的话,我想进一步添加一个机会修改器,其中某些列的机会比其他列的机会更高,基于圆形曲线的高度:中心的最大机会,并进一步降低。p>我该怎么做?如果无法完成圆方程部分,则无问题。只是更改方形网格就足够了。

这应该让您前进:

import numpy as np
from scipy.misc import imsave
N = 100
def iterate(img, filename, it_num):
    swaps = np.random.choice((0, 255), size=(N,N))
    img = np.clip(img + swaps, 0, 255)
    imsave(filename + '_it_' + str(it_num) + '.jpg', img)
    if np.all(img):
        return None
    else:
        return img
img = np.zeros((N, N), dtype=np.uint8)
it = 1
while img is not None:
    img = iterate(img, 'output', it)
    it += 1

最后一个满是255的图像应该是白色的,但确实是黑色的。我不确定为什么,但是我也不确定这是否重要。

您的圆形方程部分并非真正以精确的方式制定,我跳过了。使用Numpy的随机工具可能并不难。

最新更新